3#ifndef _aspose_zip_zip_file_h_
4#define _aspose_zip_zip_file_h_
6#include <system/text/encoding.h>
7#include <system/string.h>
8#include <system/shared_ptr.h>
9#include <system/nullable.h>
10#include <system/io/text_writer.h>
11#include <system/io/stream.h>
12#include <system/eventhandler.h>
13#include <system/collections/list.h>
14#include <system/collections/ienumerable.h>
15#include <system/array.h>
17#include "zip/zlib_compression_flags.h"
18#include "zip/events.h"
19#include "zip/zip64_option.h"
20#include "zip/zip_error_action.h"
21#include "zip/extract_existing_file_action.h"
22#include "zip/encryption_algorithm.h"
24namespace Aspose {
namespace Zip {
32 ASPOSECPP_SHARED_RTTI_INFO_DECL();
34 friend class ZipEntry;
38 ASPOSECPP_SHARED_API ZipFile();
45 ASPOSECPP_SHARED_API
bool get_FullScan()
const;
46 ASPOSECPP_SHARED_API
void set_FullScan(
bool value);
47 ASPOSECPP_SHARED_API
int get_BufferSize()
const;
48 ASPOSECPP_SHARED_API
void set_BufferSize(
int value);
49 ASPOSECPP_SHARED_API
int get_CodecBufferSize()
const;
50 ASPOSECPP_SHARED_API
void set_CodecBufferSize(
int value);
51 ASPOSECPP_SHARED_API
bool get_FlattenFoldersOnExtract()
const;
52 ASPOSECPP_SHARED_API
void set_FlattenFoldersOnExtract(
bool value);
53 ASPOSECPP_SHARED_API CompressionStrategy get_Strategy()
const;
54 ASPOSECPP_SHARED_API
void set_Strategy(CompressionStrategy value);
58 ASPOSECPP_SHARED_API
void set_CompressionLevel(CompressionLevel value);
60 ASPOSECPP_SHARED_API
void set_Comment(
const System::String& value);
61 ASPOSECPP_SHARED_API
bool get_EmitTimesInWindowsFormatWhenSaving()
const;
62 ASPOSECPP_SHARED_API
void set_EmitTimesInWindowsFormatWhenSaving(
bool value);
63 ASPOSECPP_SHARED_API
bool get_EmitTimesInUnixFormatWhenSaving()
const;
64 ASPOSECPP_SHARED_API
void set_EmitTimesInUnixFormatWhenSaving(
bool value);
65 ASPOSECPP_SHARED_API
bool get_CaseSensitiveRetrieval()
const;
66 ASPOSECPP_SHARED_API
void set_CaseSensitiveRetrieval(
bool value);
67 ASPOSECPP_SHARED_API
bool get_UseUnicodeAsNecessary()
const;
68 ASPOSECPP_SHARED_API
void set_UseUnicodeAsNecessary(
bool value);
69 ASPOSECPP_SHARED_API Zip64Option get_UseZip64WhenSaving()
const;
70 ASPOSECPP_SHARED_API
void set_UseZip64WhenSaving(Zip64Option value);
80 ASPOSECPP_SHARED_API
bool get_ForceNoCompression()
const;
81 ASPOSECPP_SHARED_API
void set_ForceNoCompression(
bool value);
83 ASPOSECPP_SHARED_API
void set_TempFileFolder(
const System::String& value);
84 ASPOSECPP_SHARED_API
void set_Password(
const System::String& value);
85 ASPOSECPP_SHARED_API ExtractExistingFileAction get_ExtractExistingFile()
const;
86 ASPOSECPP_SHARED_API
void set_ExtractExistingFile(ExtractExistingFileAction value);
87 ASPOSECPP_SHARED_API ZipErrorAction get_ZipErrorAction()
const;
88 ASPOSECPP_SHARED_API
void set_ZipErrorAction(ZipErrorAction value);
89 ASPOSECPP_SHARED_API EncryptionAlgorithm get_Encryption()
const;
90 ASPOSECPP_SHARED_API
void set_Encryption(EncryptionAlgorithm value);
91 ASPOSECPP_SHARED_API ReReadApprovalCallback get_WillReadTwiceOnInflation()
const;
92 ASPOSECPP_SHARED_API
void set_WillReadTwiceOnInflation(ReReadApprovalCallback value);
93 ASPOSECPP_SHARED_API WantCompressionCallback get_WantCompression()
const;
94 ASPOSECPP_SHARED_API
void set_WantCompression(WantCompressionCallback value);
97 ASPOSECPP_SHARED_API
int get_Count()
const;
102 ASPOSECPP_SHARED_API
void Initialize(
const System::String& fileName);
110 ASPOSECPP_SHARED_API
void RemoveEntry(
const System::String& fileName);
126 ASPOSECPP_SHARED_API
void UpdateItem(
const System::String& itemName);
143 static ASPOSECPP_SHARED_API
bool CheckZip(
const System::String& zipFileName);
145 static ASPOSECPP_SHARED_API
void FixZipDirectory(
const System::String& zipFileName);
154 ASPOSECPP_SHARED_API
void ExtractAll(
const System::String& path,
bool wantOverwrite);
155 ASPOSECPP_SHARED_API
void ExtractAll(
const System::String& path, ExtractExistingFileAction extractExistingFile);
156 ASPOSECPP_SHARED_API
void Extract(
const System::String& fileName);
158 ASPOSECPP_SHARED_API
void Extract(
const System::String& entryName,
bool wantOverwrite);
159 ASPOSECPP_SHARED_API
void Extract(
const System::String& entryName, ExtractExistingFileAction extractExistingFile);
161 ASPOSECPP_SHARED_API
void Extract(
const System::String& entryName,
const System::String& directoryName, ExtractExistingFileAction extractExistingFile);
183 static ASPOSECPP_SHARED_API
bool IsZipFile(
const System::String& fileName);
184 static ASPOSECPP_SHARED_API
bool IsZipFile(
const System::String& fileName,
bool testExtract);
186 ASPOSECPP_SHARED_API
void Save();
190 ASPOSECPP_SHARED_API
void Dispose()
const;
193 ASPOSECPP_SHARED_API System::Details::VirtualizedIteratorBase<System::SharedPtr<ZipEntry>>* virtualizeBeginIterator()
override;
194 ASPOSECPP_SHARED_API System::Details::VirtualizedIteratorBase<System::SharedPtr<ZipEntry>>* virtualizeEndIterator()
override;
195 ASPOSECPP_SHARED_API System::Details::VirtualizedIteratorBase<System::SharedPtr<ZipEntry>>* virtualizeBeginConstIterator()
const override;
196 ASPOSECPP_SHARED_API System::Details::VirtualizedIteratorBase<System::SharedPtr<ZipEntry>>* virtualizeEndConstIterator()
const override;
200 ASPOSECPP_SHARED_API ~ZipFile()
override;
201 ASPOSECPP_SHARED_API
bool get_Verbose()
const;
207 ASPOSECPP_SHARED_API int64_t get_RelativeOffset();
209 ASPOSECPP_SHARED_API
void NotifyEntryChanged();
210 ASPOSECPP_SHARED_API
void Reset();
214 ASPOSECPP_SHARED_API
bool OnExtractBlock(
const System::SharedPtr<ZipEntry>& entry, int64_t bytesWritten, int64_t totalBytesToWrite);
219 ASPOSECPP_SHARED_API
void SeekFromOrigin(int64_t position);
220#ifdef ASPOSE_GET_SHARED_MEMBERS
221 ASPOSECPP_SHARED_API
void GetSharedMembers(System::Object::shared_members_type& result)
const override;
226 enum class AddOrUpdateAction
233 int _CodecBufferSize;
234 bool _FlattenFoldersOnExtract;
236 ExtractExistingFileAction _ExtractExistingFile;
237 ZipErrorAction _ZipErrorAction;
238 ReReadApprovalCallback _WillReadTwiceOnInflation;
239 WantCompressionCallback _WantCompression;
242 bool _CaseSensitiveRetrieval;
246 bool _ForceNoCompression;
251 CompressionStrategy _Strategy;
252 int64_t _originPosition;
253 bool _fileAlreadyExists;
255 bool _contentsChanged;
258 bool _ReadStreamIsOurs;
260 bool _saveOperationCanceled;
261 bool _extractOperationCanceled;
262 EncryptionAlgorithm _Encryption;
264 bool _NeedZip64CentralDirectory;
265 int64_t _locEndOfCDS;
276 int64_t _lengthOfReadStream;
278 int64_t get_LengthOfReadStream();
285 void OnSaveEvent(ZipProgressEventType eventFlavor);
286 void OnSaveStarted();
287 void OnSaveCompleted();
288 void OnReadStarted();
289 void OnReadCompleted();
294 void OnAddCompleted();
295 void _InternalExtractAll(
const System::String& path,
bool overrideExtractExistingProperty);
304 void RemoveTempFile()
const;
305 void CleanupAfterSaveOperation();
307 int CountEntries()
const;
Interface of object providing enumerator on contained elements.
Definition: ienumerable.h:25
List forward declaration.
Definition: list.h:127
Template that represents wrapper of exceptions that are derived from Exception class.
Definition: exception.h:113
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: smart_ptr.h:180
String class used across the library. Is a substitute for C# System.String when translating code....
Definition: string.h:122
@ Save
Refer to System::Drawing::Graphics::Save.
CompressionLevel
Specifies values that indicate whether a compression operation emphasizes speed or compression size.
Definition: compression_level.h:8
@ Read
Stream is for reading only.
MulticastDelegate< void(System::SharedPtr< Object >, TEventArgs)> EventHandler
Represents a method that reacts to and processes an event. This type should be allocated on stack and...
Definition: eventhandler.h:16