![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
Information about a file to be created. More...
#include <quazipnewinfo.h>
Public Member Functions | |
| QuaZipNewInfo (const QString &name) | |
| Constructs QuaZipNewInfo instance. More... | |
| QuaZipNewInfo (const QString &name, const QString &file) | |
| Constructs QuaZipNewInfo instance. More... | |
| QuaZipNewInfo (const QuaZipFileInfo &existing) | |
| Initializes the new instance from existing file info. More... | |
| QuaZipNewInfo (const QuaZipFileInfo64 &existing) | |
| Initializes the new instance from existing file info. More... | |
| void | setFileDateTime (const QString &file) |
| Sets the file timestamp from the existing file. More... | |
| void | setFilePermissions (const QString &file) |
| Sets the file permissions from the existing file. More... | |
| void | setPermissions (QFile::Permissions permissions) |
| Sets the file permissions. More... | |
| void | setFileNTFSTimes (const QString &fileName) |
| Sets the NTFS times from an existing file. More... | |
| void | setFileNTFSmTime (const QDateTime &mTime, int fineTicks=0) |
| Sets the NTFS modification time. More... | |
| void | setFileNTFSaTime (const QDateTime &aTime, int fineTicks=0) |
| Sets the NTFS access time. More... | |
| void | setFileNTFScTime (const QDateTime &cTime, int fineTicks=0) |
| Sets the NTFS creation time. More... | |
Public Attributes | |
| QString | name |
| File name. More... | |
| QDateTime | dateTime |
| File timestamp. More... | |
| quint16 | internalAttr |
| File internal attributes. More... | |
| quint32 | externalAttr |
| File external attributes. More... | |
| QString | comment |
| File comment. More... | |
| QByteArray | extraLocal |
| File local extra field. More... | |
| QByteArray | extraGlobal |
| File global extra field. More... | |
| ulong | uncompressedSize |
| Uncompressed file size. More... | |
Information about a file to be created.
This structure holds information about a file to be created inside ZIP archive. At least name should be set to something correct before passing this structure to QuaZipFile::open(OpenMode,const QuaZipNewInfo&,int,int,bool).
Zip64 support of this structure is slightly limited: in the raw mode (when a pre-compressed file is written into a ZIP file as-is), it is necessary to specify the uncompressed file size and the appropriate field is 32 bit. Since the raw mode is used extremely rare, there is no real need to have a separate QuaZipNewInfo64 structure like QuaZipFileInfo64. It may be added in the future though, if there is a demand for the raw mode with zip64 archives.
Definition at line 49 of file quazipnewinfo.h.
| QuaZipNewInfo::QuaZipNewInfo | ( | const QString & | name | ) |
Constructs QuaZipNewInfo instance.
Initializes name with name, dateTime with current date and time. Attributes are initialized with zeros, comment and extra field with null values.
Definition at line 77 of file quazipnewinfo.cpp.
| QuaZipNewInfo::QuaZipNewInfo | ( | const QString & | name, |
| const QString & | file | ||
| ) |
Constructs QuaZipNewInfo instance.
Initializes name with name. Timestamp and permissions are taken from the specified file. If the file does not exists or its timestamp is inaccessible (e. g. you do not have read permission for the directory file in), uses current time and zero permissions. Other attributes are initialized with zeros, comment and extra field with null values.
Definition at line 84 of file quazipnewinfo.cpp.
References dateTime, and QuaZipNewInfo_setPermissions().
| QuaZipNewInfo::QuaZipNewInfo | ( | const QuaZipFileInfo & | existing | ) |
Initializes the new instance from existing file info.
Mainly used when copying files between archives.
Both extra fields are initialized to existing.extra.
| existing |
Definition at line 69 of file quazipnewinfo.cpp.
References QuaZipNewInfo_init().
| QuaZipNewInfo::QuaZipNewInfo | ( | const QuaZipFileInfo64 & | existing | ) |
Initializes the new instance from existing file info.
Mainly used when copying files between archives.
Both extra fields are initialized to existing.extra.
| existing |
Definition at line 73 of file quazipnewinfo.cpp.
References QuaZipNewInfo_init().
| void QuaZipNewInfo::setFileDateTime | ( | const QString & | file | ) |
Sets the file timestamp from the existing file.
Use this function to set the file timestamp from the existing file. Use it like this:
This function does not change dateTime if some error occured (e. g. file is inaccessible).
Definition at line 97 of file quazipnewinfo.cpp.
References dateTime.
| void QuaZipNewInfo::setFileNTFSaTime | ( | const QDateTime & | aTime, |
| int | fineTicks = 0 |
||
| ) |
Sets the NTFS access time.
The time is written into the NTFS record in both the local and the global extra fields, updating the existing record if there is one, or creating a new one and appending it to the end of each extra field. When updating an existing record, all other fields are left intact.
| aTime | The new access time. |
| fineTicks | The fractional part of milliseconds, in 100-nanosecond ticks (i. e. 9999 ticks = 999.9 microsecond). Values greater than 9999 will add milliseconds or even seconds, but this can be confusing and therefore is discouraged. |
Definition at line 271 of file quazipnewinfo.cpp.
References extraGlobal, extraLocal, and setNTFSTime().
Referenced by setFileNTFSTimes().
| void QuaZipNewInfo::setFileNTFScTime | ( | const QDateTime & | cTime, |
| int | fineTicks = 0 |
||
| ) |
Sets the NTFS creation time.
The time is written into the NTFS record in both the local and the global extra fields, updating the existing record if there is one, or creating a new one and appending it to the end of each extra field. When updating an existing record, all other fields are left intact.
| cTime | The new creation time. |
| fineTicks | The fractional part of milliseconds, in 100-nanosecond ticks (i. e. 9999 ticks = 999.9 microsecond). Values greater than 9999 will add milliseconds or even seconds, but this can be confusing and therefore is discouraged. |
Definition at line 276 of file quazipnewinfo.cpp.
References extraGlobal, extraLocal, and setNTFSTime().
Referenced by setFileNTFSTimes().
| void QuaZipNewInfo::setFileNTFSmTime | ( | const QDateTime & | mTime, |
| int | fineTicks = 0 |
||
| ) |
Sets the NTFS modification time.
The time is written into the NTFS record in both the local and the global extra fields, updating the existing record if there is one, or creating a new one and appending it to the end of each extra field. When updating an existing record, all other fields are left intact.
| mTime | The new modification time. |
| fineTicks | The fractional part of milliseconds, in 100-nanosecond ticks (i. e. 9999 ticks = 999.9 microsecond). Values greater than 9999 will add milliseconds or even seconds, but this can be confusing and therefore is discouraged. |
Definition at line 266 of file quazipnewinfo.cpp.
References extraGlobal, extraLocal, and setNTFSTime().
Referenced by setFileNTFSTimes().
| void QuaZipNewInfo::setFileNTFSTimes | ( | const QString & | fileName | ) |
Sets the NTFS times from an existing file.
If the file doesn't exist, a warning is printed to the stderr and nothing is done. Otherwise, all three times, as reported by QFileInfo::lastModified(), QFileInfo::lastRead() and QFileInfo::created(), are written to the NTFS extra field record.
The NTFS record is written to both the local and the global extra fields, updating the existing record if there is one, or creating a new one and appending it to the end of each extra field.
The microseconds will be zero, as they aren't reported by QFileInfo.
| fileName |
Definition at line 113 of file quazipnewinfo.cpp.
References setFileNTFSaTime(), setFileNTFScTime(), and setFileNTFSmTime().
| void QuaZipNewInfo::setFilePermissions | ( | const QString & | file | ) |
Sets the file permissions from the existing file.
Takes permissions from the file and sets the high 16 bits of external attributes. Uses QFileInfo to get permissions on all platforms.
Definition at line 103 of file quazipnewinfo.cpp.
References QuaZipNewInfo_setPermissions().
| void QuaZipNewInfo::setPermissions | ( | QFile::Permissions | permissions | ) |
Sets the file permissions.
Modifies the highest 16 bits of external attributes. The type part is set to dir if the name ends with a slash, and to regular file otherwise.
Definition at line 109 of file quazipnewinfo.cpp.
References name, and QuaZipNewInfo_setPermissions().
| QString QuaZipNewInfo::comment |
File comment.
Will be encoded using QuaZip::getCommentCodec().
Definition at line 74 of file quazipnewinfo.h.
Referenced by QuaZipFile::open().
| QDateTime QuaZipNewInfo::dateTime |
File timestamp.
This is the last file modification date and time. Will be stored in the archive central directory. It is a good practice to set it to the source file timestamp instead of archive creating time. Use setFileDateTime() or QuaZipNewInfo(const QString&, const QString&).
Definition at line 61 of file quazipnewinfo.h.
Referenced by QuaZipFile::open(), QuaZipNewInfo(), and setFileDateTime().
| quint32 QuaZipNewInfo::externalAttr |
File external attributes.
The highest 16 bits contain Unix file permissions and type (dir or file). The constructor QuaZipNewInfo(const QString&, const QString&) takes permissions from the provided file.
Definition at line 70 of file quazipnewinfo.h.
Referenced by QuaZipFile::open(), and QuaZipNewInfo_setPermissions().
| QByteArray QuaZipNewInfo::extraGlobal |
File global extra field.
Definition at line 78 of file quazipnewinfo.h.
Referenced by QuaZipFile::open(), setFileNTFSaTime(), setFileNTFScTime(), and setFileNTFSmTime().
| QByteArray QuaZipNewInfo::extraLocal |
File local extra field.
Definition at line 76 of file quazipnewinfo.h.
Referenced by QuaZipFile::open(), setFileNTFSaTime(), setFileNTFScTime(), and setFileNTFSmTime().
| quint16 QuaZipNewInfo::internalAttr |
File internal attributes.
Definition at line 63 of file quazipnewinfo.h.
Referenced by QuaZipFile::open().
| QString QuaZipNewInfo::name |
File name.
This field holds file name inside archive, including path relative to archive root.
Definition at line 54 of file quazipnewinfo.h.
Referenced by QuaZipFile::open(), and setPermissions().
| ulong QuaZipNewInfo::uncompressedSize |
Uncompressed file size.
This is only needed if you are using raw file zipping mode, i. e. adding precompressed file in the zip archive.
Definition at line 83 of file quazipnewinfo.h.
Referenced by QuaZipFile::open().