With the release of Poco 1.3.1, we decided to add some little extra: the PocoZip library is now available public, as is PocoSSH.
PocoZip allows you to easily compress/decompress Zip files, decompression works even on the fly, e.g. while data is downloaded from the network.
See the testsuite and the attached code examples to get an idea on how to use the library.
I hope you like the library and if someone decides to add support for more compression/decompression options (e.g. deflate64), we’ll gladly accept that offer
PocoSSH is pretty much done, except the ftps support.
Note that the library is not part of the standard download but has to be retrieved via SVN from the sandbox directory.
Some code examples:
std::ofstream out("pocobin.zip", std::ios::binary);
Compress c(out, true);
c.addRecursive(theFile, ZipCommon::CL_MAXIMUM, false, aDir);
// c.close() returns a ZipArchive that contains info about the Zip file
ZipArchive archive = c.close();
And for decompression:
std::ifstream inp("test.zip", std::ios::binary);
Decompress dec(inp, Poco::Path()); // decode to current dir