I've been surfing the internet looking for the zlib static library -which is missing from the Qt/Symbian SDK. I downloaded and installed some old Symbian SDKs and finally found the needed files.
You can download them from this link
Here is a code example of how I used it:
You can download them from this link
Here is a code example of how I used it:
LIBS+= -lefsrv -lezlib -leikcore -lcone
#include <ezgzip.h> #include <f32file.h> #include <ezcompressor.h> #include <ezdecompressor.h> #include <ezfilebuffer.h> #include <eikenv.h>
void CompressFileL(QString sourceFile, QString destinationFile) { TPtrC16 aSrcFile(reinterpret_cast<const TUint16*>(sourceFile.utf16())); TPtrC16 aDesFile(reinterpret_cast<const TUint16*>(destinationFile.utf16())); CEZFileBufferManager* fileCompressor = NULL; CEZCompressor* comprsr = NULL; RFs iFs = CEikonEnv::Static()->FsSession(); RFile inFile,outFile; User::LeaveIfError(inFile.Open(iFs,aSrcFile,EFileRead)); CleanupClosePushL(inFile); User::LeaveIfError(outFile.Create(iFs,aDesFile,EFileRead | EFileWrite)); CleanupClosePushL(outFile); fileCompressor = CEZFileBufferManager::NewLC(inFile,outFile); comprsr = CEZCompressor::NewLC(*fileCompressor,CEZCompressor::EBestCompression); TBool res = EFalse; do { res = comprsr->DeflateL(); }while(res); CleanupStack::PopAndDestroy(4);//inputFile,outFile,fileCompressor,comprsr } void DecompressFileL(QString sourceFile, QString destinationFile) { TPtrC16 aSrcFile(reinterpret_cast<const TUint16*>(sourceFile.utf16())); TPtrC16 aDesFile(reinterpret_cast<const TUint16*>(destinationFile.utf16())); CEZFileBufferManager* fileCompressor = NULL; CEZDecompressor* decomprsr = NULL; RFs iFs = CEikonEnv::Static()->FsSession(); RFile inFile,outFile; User::LeaveIfError(inFile.Open(iFs,aSrcFile,EFileRead)); CleanupClosePushL(inFile); User::LeaveIfError(outFile.Create(iFs,aDesFile,EFileRead | EFileWrite)); CleanupClosePushL(outFile); fileCompressor = CEZFileBufferManager::NewLC(inFile,outFile); decomprsr = CEZDecompressor::NewLC(*fileCompressor); TBool res = EFalse; do { res = decomprsr->InflateL(); }while(res); CleanupStack::PopAndDestroy(4);//inputFile,outFile,fileCompressor,decomprsr }
No comments:
Post a Comment