#include <ioarchivehandler.h>

Interface class to write archives.
Public Member Functions | |
| MAXON_METHOD Result< void > | Open (const Url &inputFile, Bool append, const String &password=String()) | 
| MAXON_METHOD Result< void > | Close () | 
| MAXON_METHOD Result< void > | SetCompressionLevel (Int compressionLevel) | 
| MAXON_METHOD Int | GetCompressionLevel () const | 
| MAXON_METHOD Result< void > | CreateDirectory (const String &name, const UniversalDateTime &dateTime, IOATTRIBUTES fileAttributes) | 
| MAXON_METHOD Result< void > | CreateFile (const String &name, const UniversalDateTime &dateTime, IOARCHIVESTOREMETHOD method, IOATTRIBUTES fileAttributes, UInt32 cryptCrc) | 
| MAXON_METHOD Result< void > | WriteFile (const Block< const Byte > &data) | 
| MAXON_METHOD Result< void > | CloseFile () | 
| MAXON_METHOD Result< void > | CopyFile (const Url &fn, const String &str, IOATTRIBUTES fileAttributes=IOATTRIBUTES::NONE, IOATTRIBUTES fileAttributesMask=IOATTRIBUTES::NONE) | 
Private Member Functions | |
| MAXON_INTERFACE (WriteArchiveInterface, MAXON_REFERENCE_NORMAL, "net.maxon.interface.writearchive") | |
      
  | 
  private | 
| MAXON_METHOD Result<void> Open | ( | const Url & | inputFile, | 
| Bool | append, | ||
| const String & | password = String()  | 
        ||
| ) | 
Opens an archive for writing.
| [in] | inputFile | The path of the archive. | 
| [in] | append | True if files shall be added to an existing archive. | 
| [in] | password | An optional password. | 
| MAXON_METHOD Result<void> Close | ( | ) | 
Closes the archive and finishes all write operations. After that call the file is closed.
| MAXON_METHOD Result<void> SetCompressionLevel | ( | Int | compressionLevel | ) | 
Sets the compression level for files in the archive. This function can be called before a new CreateFile() operation to change the compression level. One call at the beginning is enough.
| [in] | compressionLevel | Compression level depending on the compression algorithm [ zip: 0 (low) ... 9 (high) ]. | 
| MAXON_METHOD Int GetCompressionLevel | ( | ) | const | 
Returns the current compression level.
| MAXON_METHOD Result<void> CreateDirectory | ( | const String & | name, | 
| const UniversalDateTime & | dateTime, | ||
| IOATTRIBUTES | fileAttributes | ||
| ) | 
Creates a directory within an archive file. The name should contain '/' as directory separator.
| [in] | name | The name of the directory. use '/' to separate subdirectories. | 
| [in] | dateTime | The file time/date of the directory. | 
| [in] | fileAttributes | OS file attributes. | 
| MAXON_METHOD Result<void> CreateFile | ( | const String & | name, | 
| const UniversalDateTime & | dateTime, | ||
| IOARCHIVESTOREMETHOD | method, | ||
| IOATTRIBUTES | fileAttributes, | ||
| UInt32 | cryptCrc | ||
| ) | 
Creates a file within an archive file. The name should contain '/' as directory separator. Use WriteFile() to write the data into the file. CloseFile() needs to be called to close the file. A file can be directly created within the archive without the need to create the parent directories first.
| [in] | name | The name of the directory. use '/' to separate subdirectories. | 
| [in] | dateTime | The file time/date of the directory. | 
| [in] | method | Gives the method how the file is stores in the archive. | 
| [in] | fileAttributes | OS file attributes. | 
| [in] | cryptCrc | CRC for crypting. | 
| MAXON_METHOD Result<void> WriteFile | ( | const Block< const Byte > & | data | ) | 
Writes data into the given file created by calling CreateFile(). Multiple calls to WriteFile() are possible for one single file.
| [in] | data | Buffer with file data. | 
| MAXON_METHOD Result<void> CloseFile | ( | ) | 
Closes the file opened with CreateFile().
| MAXON_METHOD Result<void> CopyFile | ( | const Url & | fn, | 
| const String & | str, | ||
| IOATTRIBUTES | fileAttributes = IOATTRIBUTES::NONE,  | 
        ||
| IOATTRIBUTES | fileAttributesMask = IOATTRIBUTES::NONE  | 
        ||
| ) | 
Copies a file into the archive file. The default parameter for the fileAttributes takes the bits from the original file. CopyFile(fn, str, IOATTRIBUTES::OWNER_X, IOATTRIBUTES::OWNER_X | IOATTRIBUTES::GROUP_X | IOATTRIBUTES::PUBLIC_X); will take the original file bits but forces to set the unix X bits ontop of this only for the owner.
| [in] | fn | The source file name. | 
| [in] | str | The virtual filename within the archive. | 
| [in] | fileAttributes | Bits for the file attributes. Only corresponding bits in the mask are set/cleared. | 
| [in] | fileAttributesMask | This mask defines, which bits are taken from fileAttributes (mask bit==1) and which are taken from the original file (mask bit==0). |