00001 // ===================================================================== 00031 // ===================================================================== 00032 #ifdef __CLDAQ_ZLIB_USE 00033 #ifndef CLDAQ__TDATAINFLATION_HH 00034 #define CLDAQ__TDATAINFLATION_HH 00035 00036 #include "Tglobals.h" 00037 00038 00058 class TDataInflation 00059 { 00060 00061 private: 00062 enum { tDefaultBufferSize = 1024 * 1024 }; 00063 00064 private: 00065 Tzstream theInflationStream; 00066 Tint theStatus; 00067 Tbyte* theOutputBuffer; 00068 Tint theSizeOfOutputBuffer; 00069 Tvoid* theInflatedData; 00070 Tint theSizeOfInflatedData; 00071 00072 public: 00073 TDataInflation( Tint bufsize = tDefaultBufferSize ); 00074 TDataInflation( const TDataInflation& right ); 00075 ~TDataInflation(); 00076 00077 public: 00078 const TDataInflation& operator=( const TDataInflation& right ); 00079 00080 public: 00081 Tvoid Decompress( Tvoid* input, Tint nbyte ); 00082 00083 public: 00084 const Tzstream& GetInflationStream() const; 00085 Tzstream& GetInflationStream(); 00086 Tint GetStatus() const; 00087 Tint GetSizeOfOutputBuffer() const; 00088 Tvoid* GetInflatedData() const; 00089 Tint GetSizeOfInflatedData() const; 00090 Tvoid SetOutputBuffer( Tint bufsize ); 00091 00092 #ifdef __CLDAQ_ROOT_DLL 00093 ClassDef(TDataInflation,0) 00094 #endif 00095 00096 }; 00097 00098 inline const Tzstream& TDataInflation::GetInflationStream() const 00099 { 00100 return theInflationStream; 00101 } 00102 00103 inline Tzstream& TDataInflation::GetInflationStream() 00104 { 00105 return theInflationStream; 00106 } 00107 00108 inline Tint TDataInflation::GetStatus() const 00109 { 00110 return theStatus; 00111 } 00112 00113 inline Tint TDataInflation::GetSizeOfOutputBuffer() const 00114 { 00115 return theSizeOfOutputBuffer; 00116 } 00117 00118 inline Tvoid* TDataInflation::GetInflatedData() const 00119 { 00120 return theInflatedData; 00121 } 00122 00123 inline Tint TDataInflation::GetSizeOfInflatedData() const 00124 { 00125 return theSizeOfInflatedData; 00126 } 00127 00128 #endif 00129 #endif