00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef ZipCompression_H
00029 #define ZipCompression_H
00030
00031 #include <mrpt/utils/utils_defs.h>
00032
00033 namespace mrpt
00034 {
00035 namespace utils { class CStream; }
00036
00039 namespace compress
00040 {
00041 using namespace mrpt::utils;
00042
00045 namespace zip
00046 {
00049 void MRPTDLLIMPEXP compress(
00050 void *inData,
00051 size_t inDataSize,
00052 std::vector<unsigned char> &outData);
00053
00056 void MRPTDLLIMPEXP compress(
00057 const std::vector<unsigned char> &inData,
00058 std::vector<unsigned char> &outData);
00059
00062 void MRPTDLLIMPEXP compress(
00063 void *inData,
00064 size_t inDataSize,
00065 CStream &out);
00066
00069 void MRPTDLLIMPEXP compress(
00070 const std::vector<unsigned char> &inData,
00071 CStream &out);
00072
00076 void MRPTDLLIMPEXP decompress(
00077 void *inData,
00078 size_t inDataSize,
00079 std::vector<unsigned char> &outData,
00080 size_t outDataEstimatedSize);
00081
00085 void MRPTDLLIMPEXP decompress(
00086 void *inData,
00087 size_t inDataSize,
00088 void *outData,
00089 size_t outDataBufferSize,
00090 size_t &outDataActualSize);
00091
00095 void MRPTDLLIMPEXP decompress(
00096 CStream &inStream,
00097 size_t inDataSize,
00098 void *outData,
00099 size_t outDataBufferSize,
00100 size_t &outDataActualSize);
00101
00102
00106 bool MRPTDLLIMPEXP decompress_gz_file(
00107 const std::string &file_path,
00108 vector_byte & buffer);
00109
00114 bool MRPTDLLIMPEXP compress_gz_file(
00115 const std::string &file_path,
00116 const vector_byte &buffer,
00117 const int compress_level = 9
00118 );
00119
00120 }
00121 }
00122
00123 }
00124
00125 #endif