| 1 |
/** |
| 2 |
* \page faq QuaZip FAQ |
| 3 |
* |
| 4 |
* <!-- |
| 5 |
* |
| 6 |
* \ref faq-non-QIODevice "Q. Is there any way to use QuaZipFile in Qt where you are supposed to use normal (non-zipped) file, but not through QIODevice API?" |
| 7 |
* \ref faq-zip64 "Q. Can QuaZIP handle files larger than 4GB? What about zip64 standard?" |
| 8 |
* |
| 9 |
* \ref faq-seekable "Q. Can QuaZIP write archives to a sequential QIODevice like QTcpSocket?" |
| 10 |
* |
| 11 |
* --> |
| 12 |
* |
| 13 |
* \anchor faq-non-QIODevice Q. Is there any way to use QuaZipFile in Qt |
| 14 |
* where you are supposed to use normal (non-zipped) file, but not |
| 15 |
* through QIODevice API? |
| 16 |
* |
| 17 |
* A. Usually not. For example, if you are passing file name to some |
| 18 |
* database driver (like SQLite), Qt usually just passes this name down |
| 19 |
* to the 3rd-party library, which is usually does not know anything |
| 20 |
* about QIODevice and therefore there is no way to pass QuaZipFile as |
| 21 |
* normal file. However, if we are talking about some place where you |
| 22 |
* pass file name, and then indirectly use QFile to open it, then it is |
| 23 |
* a good idea to make overloaded method, which accepts a QIODevice |
| 24 |
* pointer. Then you would be able to pass QuaZipFile as well as many |
| 25 |
* other nice things such as QBuffer or QProcess. |
| 26 |
* |
| 27 |
* \anchor faq-zip64 Q. Can QuaZIP handle files larger than 4GB? What |
| 28 |
* about zip64 standard? |
| 29 |
* |
| 30 |
* A. Starting with version 0.6, QuaZIP uses Minizip 1.1 with zip64 |
| 31 |
* support which should handle large files perfectly. The zip64 support |
| 32 |
* in Minizip looks like it's not 100% conforming to the standard, but |
| 33 |
* 3rd party tools seem to have no problem with the resulting archives. |
| 34 |
* |
| 35 |
* \anchor faq-seekable Q. Can QuaZIP write archives to a sequential QIODevice like QTcpSocket? |
| 36 |
* |
| 37 |
* A. Not yet. It is not supported by vanilla Minizip (the back-end |
| 38 |
* QuaZIP uses), although theoretically possible according to the ZIP |
| 39 |
* standard. It would require some Minizip modifications that would |
| 40 |
* allow it to detect non-seekable I/O and produce necessary output |
| 41 |
* structures. QuaZIP already writes data descriptor which is necessary |
| 42 |
* for non-seekable I/O. The only thing that is apparently left is to |
| 43 |
* make Minizip fill local headers with correct values and forget about |
| 44 |
* seeking after closing the file. |
| 45 |
**/ |