00001 // ===================================================================== 00002 // $Id: TDataInflation.hh,v 1.2 2003/07/30 16:21:20 goiwai Exp $ 00003 // $Name: CLDAQ-1-08-02 $ 00004 // 00005 // $Log: TDataInflation.hh,v $ 00006 // Revision 1.2 2003/07/30 16:21:20 goiwai 00007 // ファイルにコミットログをつけることにしました. 00008 // 00009 // ===================================================================== 00010 #ifndef __TDATAINFLATION_HH 00011 #define __TDATAINFLATION_HH 00012 #ifdef __CLDAQ_ZLIB_USE 00013 00014 #include "Tglobals.h" 00015 00016 class TDataInflation 00017 { 00018 00019 private: 00020 enum { tDefaultBufferSize = 1024 * 1024 }; 00021 00022 private: 00023 Tzstream theInflationStream; 00024 Tint theStatus; 00025 Tbyte* theOutputBuffer; 00026 Tint theSizeOfOutputBuffer; 00027 Tvoid* theInflatedData; 00028 Tint theSizeOfInflatedData; 00029 00030 public: 00031 TDataInflation( Tint bufsize = tDefaultBufferSize ); 00032 TDataInflation( const TDataInflation& right ); 00033 ~TDataInflation(); 00034 00035 public: 00036 const TDataInflation& operator=( const TDataInflation& right ); 00037 00038 public: 00039 Tvoid Decompress( Tvoid* input, Tint nbyte ); 00040 00041 public: 00042 const Tzstream& GetInflationStream() const; 00043 Tzstream& GetInflationStream(); 00044 Tint GetStatus() const; 00045 Tint GetSizeOfOutputBuffer() const; 00046 Tvoid* GetInflatedData() const; 00047 Tint GetSizeOfInflatedData() const; 00048 Tvoid SetOutputBuffer( Tint bufsize ); 00049 00050 }; 00051 00052 inline const Tzstream& TDataInflation::GetInflationStream() const 00053 { 00054 return( theInflationStream ); 00055 } 00056 00057 inline Tzstream& TDataInflation::GetInflationStream() 00058 { 00059 return( theInflationStream ); 00060 } 00061 00062 inline Tint TDataInflation::GetStatus() const 00063 { 00064 return( theStatus ); 00065 } 00066 00067 inline Tint TDataInflation::GetSizeOfOutputBuffer() const 00068 { 00069 return( theSizeOfOutputBuffer ); 00070 } 00071 00072 inline Tvoid* TDataInflation::GetInflatedData() const 00073 { 00074 return( theInflatedData ); 00075 } 00076 00077 inline Tint TDataInflation::GetSizeOfInflatedData() const 00078 { 00079 return( theSizeOfInflatedData ); 00080 } 00081 00082 #endif 00083 #endif