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