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