00001 // ===================================================================== 00021 // ===================================================================== 00022 #ifndef __TDATAINFLATION_HH 00023 #define __TDATAINFLATION_HH 00024 #ifdef __CLDAQ_ZLIB_USE 00025 00026 #include "Tglobals.h" 00027 00028 00048 class TDataInflation 00049 { 00050 00051 private: 00052 enum { tDefaultBufferSize = 1024 * 1024 }; 00053 00054 private: 00055 Tzstream theInflationStream; 00056 Tint theStatus; 00057 Tbyte* theOutputBuffer; 00058 Tint theSizeOfOutputBuffer; 00059 Tvoid* theInflatedData; 00060 Tint theSizeOfInflatedData; 00061 00062 public: 00063 TDataInflation( Tint bufsize = tDefaultBufferSize ); 00064 TDataInflation( const TDataInflation& right ); 00065 ~TDataInflation(); 00066 00067 public: 00068 const TDataInflation& operator=( const TDataInflation& right ); 00069 00070 public: 00071 Tvoid Decompress( Tvoid* input, Tint nbyte ); 00072 00073 public: 00074 const Tzstream& GetInflationStream() const; 00075 Tzstream& GetInflationStream(); 00076 Tint GetStatus() const; 00077 Tint GetSizeOfOutputBuffer() const; 00078 Tvoid* GetInflatedData() const; 00079 Tint GetSizeOfInflatedData() const; 00080 Tvoid SetOutputBuffer( Tint bufsize ); 00081 00082 }; 00083 00084 inline const Tzstream& TDataInflation::GetInflationStream() const 00085 { 00086 return theInflationStream; 00087 } 00088 00089 inline Tzstream& TDataInflation::GetInflationStream() 00090 { 00091 return theInflationStream; 00092 } 00093 00094 inline Tint TDataInflation::GetStatus() const 00095 { 00096 return theStatus; 00097 } 00098 00099 inline Tint TDataInflation::GetSizeOfOutputBuffer() const 00100 { 00101 return theSizeOfOutputBuffer; 00102 } 00103 00104 inline Tvoid* TDataInflation::GetInflatedData() const 00105 { 00106 return theInflatedData; 00107 } 00108 00109 inline Tint TDataInflation::GetSizeOfInflatedData() const 00110 { 00111 return theSizeOfInflatedData; 00112 } 00113 00114 #endif 00115 #endif