| 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 | **/ |