メインページ   モジュール   クラス階層   アルファベット順一覧   構成   ファイル一覧   構成メンバ   ファイルメンバ   関連ページ  

TDataDeflation.hh

解説を見る。
00001 // =====================================================================
00002 //  $Id: TDataDeflation.hh,v 1.2 2003/07/30 16:21:20 goiwai Exp $
00003 //  $Name: CLDAQ-1-08-01 $
00004 //
00005 //  $Log: TDataDeflation.hh,v $
00006 //  Revision 1.2  2003/07/30 16:21:20  goiwai
00007 //  ファイルにコミットログをつけることにしました.
00008 //
00009 // =====================================================================
00010 #ifndef __TDATADEFLATION_HH
00011 #define __TDATADEFLATION_HH
00012 #ifdef __CLDAQ_ZLIB_USE
00013 
00014 #include "Tglobals.h"
00015 
00016 // Z_NO_COMPRESSION         0
00017 // Z_BEST_SPEED             1
00018 // Z_BEST_COMPRESSION       9
00019 // Z_DEFAULT_COMPRESSION  (-1)
00020 
00021 class TDataDeflation
00022 {
00023 
00024   private:
00025     enum { tDefaultBufferSize = 1024 * 1024 };
00026 
00027   private:
00028     Tzstream theDeflationStream;
00029     Tint theCompressionLevel;
00030     Tint theStatus;
00031     Tbyte* theOutputBuffer;
00032     Tint theSizeOfOutputBuffer;
00033     Tvoid* theDeflatedData;
00034     Tint theSizeOfDeflatedData;
00035 
00036   public:
00037     TDataDeflation( Tint bufsize = tDefaultBufferSize, Tint level = Z_DEFAULT_COMPRESSION );
00038     TDataDeflation( const TDataDeflation& right );
00039     ~TDataDeflation();
00040 
00041   public:
00042     const TDataDeflation& operator=( const TDataDeflation& right );
00043 
00044   public:
00045     Tvoid Compress( Tvoid* input, Tint nbyte, Tbool islast = Tfalse );
00046 
00047   public:
00048     const Tzstream& GetDeflationStream() const;
00049     Tzstream& GetDeflationStream();
00050     Tint GetCompressionLevel() const;
00051     Tint GetStatus() const;
00052     Tint GetSizeOfOutputBuffer() const;
00053     Tvoid* GetDeflatedData() const;
00054     Tint GetSizeOfDeflatedData() const;
00055     Tvoid SetCompressionLevel( Tint level );
00056     Tvoid SetOutputBuffer( Tint bufsize );
00057 
00058 };
00059 
00060 inline const Tzstream& TDataDeflation::GetDeflationStream() const
00061 {
00062   return( theDeflationStream );
00063 }
00064 
00065 inline Tzstream& TDataDeflation::GetDeflationStream()
00066 {
00067   return( theDeflationStream );
00068 }
00069 
00070 inline Tint TDataDeflation::GetCompressionLevel() const
00071 {
00072   return( theCompressionLevel );
00073 }
00074 
00075 inline Tint TDataDeflation::GetStatus() const
00076 {
00077   return( theStatus );
00078 }
00079 
00080 inline Tint TDataDeflation::GetSizeOfOutputBuffer() const
00081 {
00082   return( theSizeOfOutputBuffer );
00083 }
00084 
00085 inline Tvoid* TDataDeflation::GetDeflatedData() const
00086 {
00087   return( theDeflatedData );
00088 }
00089 
00090 inline Tint TDataDeflation::GetSizeOfDeflatedData() const
00091 {
00092   return( theSizeOfDeflatedData );
00093 }
00094 
00095 #endif
00096 #endif

CLDAQ - a Class Library for Data AcQuisition (Version 1.8.1)
Go IWAI <goiwai@users.sourceforge.jp>