U++ framework
Do not panic. Ask here before giving up.

Home » Community » U++ community news and announcements » plugin/LZMA
plugin/LZMA [message #42104] Wed, 19 February 2014 20:10 Go to previous message
mirek is currently offline  mirek
Messages: 14291
Registered: November 2005
Ultimate Member
...if you feel like zlib is not enough...

In the end, I have decided to provide 'minimal' support, without proper filter-like interface of Zlib, only providing Stream->Stream operations, with individual functions modelled after zlib.

int64  LZMACompress(Stream& out, Stream& in, int64 size, Gate2<int64, int64> progress = false, int lvl = 6);
int64  LZMACompress(Stream& out, Stream& in, Gate2<int64, int64> progress = false, int lvl = 6);
String LZMACompress(const void *data, int64 len, Gate2<int64, int64> progress = false, int lvl = 6);
String LZMACompress(const String& s, Gate2<int64, int64> progress = false, int lvl = 6);

int64  LZMADecompress(Stream& out, Stream& in, Gate2<int64, int64> progress = false);
String LZMADecompress(const void *data, int64 len, Gate2<int64, int64> progress = false);
String LZMADecompress(const String& s, Gate2<int64, int64> progress = false);

bool   LZMACompressFile(const char *dstfile, const char *srcfile, Gate2<int64, int64> progress = false, int lvl = 6);
bool   LZMACompressFile(const char *srcfile, Gate2<int64, int64> progress, int lvl = 6);
bool   LZMADecompressFile(const char *dstfile, const char *srcfile, Gate2<int64, int64> progress = false);
bool   LZMADecompressFile(const char *srcfile, Gate2<int64, int64> progress);


Filter-like class is IMO not possible using *documented* features of original code. Perhaps we can add that later...

Mirek
 
Read Message
Read Message
Previous Topic: TURTLE alpha status
Next Topic: ide: Compare directories
Goto Forum:
  


Current Time: Sun Oct 11 15:53:33 GMT+2 2026

Total time taken to generate the page: 0.00534 seconds