00001 // ===================================================================== 00002 // $Id: TObjectStream.hh,v 1.2 2003/07/30 16:19:31 goiwai Exp $ 00003 // $Name: CLDAQ-1-08-02 $ 00004 // 00005 // $Log: TObjectStream.hh,v $ 00006 // Revision 1.2 2003/07/30 16:19:31 goiwai 00007 // ファイルにコミットログをつけることにしました. 00008 // 00009 // ===================================================================== 00010 #ifndef __TOBJECTSTREAM_HH 00011 #define __TOBJECTSTREAM_HH 00012 00013 #include "Tglobals.h" 00014 00015 class TObjectFilter; 00016 00017 class TObjectStream 00018 { 00019 00020 protected: 00021 TObjectFilter* theObjectFilter; 00022 Tstream_t theStreamType; 00023 Tint theDataSize; 00024 Tint theLastDataSize; 00025 Tint theTotalDataSize; 00026 00027 public: 00028 TObjectStream( Tstream_t streamtype = tUnknownStream ); 00029 TObjectStream( TObjectFilter* filter, Tstream_t streamtype = tUnknownStream ); 00030 00031 protected: 00032 virtual ~TObjectStream(); 00033 00034 public: 00035 Tstream_t GetStreamType() const; 00036 Tvoid SetStreamType( Tstream_t streamtype ); 00037 TObjectFilter* GetObjectFilter() const; 00038 Tvoid SetObjectFilter( TObjectFilter* filter ); 00039 Tbool HasFilter() const; 00040 Tint GetDataSize() const; 00041 Tint GetLastDataSize() const; 00042 Tvoid SetDataSize( Tint datasize ); 00043 Tvoid SetLastDataSize( Tint datasize ); 00044 Tint GetTotalDataSize() const; 00045 00046 }; 00047 00048 inline Tint TObjectStream::GetDataSize() const 00049 { 00050 return( theDataSize ); 00051 } 00052 00053 inline Tint TObjectStream::GetLastDataSize() const 00054 { 00055 return( theLastDataSize ); 00056 } 00057 00058 inline Tvoid TObjectStream::SetDataSize( Tint datasize ) 00059 { 00060 theDataSize = datasize; 00061 return; 00062 } 00063 00064 inline Tvoid TObjectStream::SetLastDataSize( Tint datasize ) 00065 { 00066 theLastDataSize = datasize; 00067 return; 00068 } 00069 00070 inline Tstream_t TObjectStream::GetStreamType() const 00071 { 00072 return( theStreamType ); 00073 } 00074 00075 inline Tvoid TObjectStream::SetStreamType( Tstream_t streamtype ) 00076 { 00077 theStreamType = streamtype; 00078 return; 00079 } 00080 00081 inline TObjectFilter* TObjectStream::GetObjectFilter() const 00082 { 00083 return( theObjectFilter ); 00084 } 00085 00086 inline Tvoid TObjectStream::SetObjectFilter( TObjectFilter* filter ) 00087 { 00088 theObjectFilter = filter; 00089 return; 00090 } 00091 00092 inline Tbool TObjectStream::HasFilter() const 00093 { 00094 return( ( theObjectFilter != 0 ) ? Ttrue : Tfalse ); 00095 } 00096 00097 inline Tint TObjectStream::GetTotalDataSize() const 00098 { 00099 return( theTotalDataSize ); 00100 } 00101 00102 #endif