00001 // ===================================================================== 00021 // ===================================================================== 00022 #ifndef __TOBJECTSTREAM_HH 00023 #define __TOBJECTSTREAM_HH 00024 00025 #include "Tglobals.h" 00026 00027 class TObjectFilter; 00028 00029 00049 class TObjectStream 00050 { 00051 00052 protected: 00053 TObjectFilter* theObjectFilter; 00054 Tstream_t theStreamType; 00055 Tint theDataSize; 00056 Tint theLastDataSize; 00057 Tint theTotalDataSize; 00058 00059 public: 00060 TObjectStream( Tstream_t streamtype = tUnknownStream ); 00061 TObjectStream( TObjectFilter* filter, Tstream_t streamtype = tUnknownStream ); 00062 00063 protected: 00064 virtual ~TObjectStream(); 00065 00066 public: 00067 Tstream_t GetStreamType() const; 00068 Tvoid SetStreamType( Tstream_t streamtype ); 00069 TObjectFilter* GetObjectFilter() const; 00070 Tvoid SetObjectFilter( TObjectFilter* filter ); 00071 Tbool HasFilter() const; 00072 Tint GetDataSize() const; 00073 Tint GetLastDataSize() const; 00074 Tvoid SetDataSize( Tint datasize ); 00075 Tvoid SetLastDataSize( Tint datasize ); 00076 Tint GetTotalDataSize() const; 00077 00078 }; 00079 00080 inline Tint TObjectStream::GetDataSize() const 00081 { 00082 return theDataSize; 00083 } 00084 00085 inline Tint TObjectStream::GetLastDataSize() const 00086 { 00087 return theLastDataSize; 00088 } 00089 00090 inline Tvoid TObjectStream::SetDataSize( Tint datasize ) 00091 { 00092 theDataSize = datasize; 00093 return; 00094 } 00095 00096 inline Tvoid TObjectStream::SetLastDataSize( Tint datasize ) 00097 { 00098 theLastDataSize = datasize; 00099 return; 00100 } 00101 00102 inline Tstream_t TObjectStream::GetStreamType() const 00103 { 00104 return theStreamType; 00105 } 00106 00107 inline Tvoid TObjectStream::SetStreamType( Tstream_t streamtype ) 00108 { 00109 theStreamType = streamtype; 00110 return; 00111 } 00112 00113 inline TObjectFilter* TObjectStream::GetObjectFilter() const 00114 { 00115 return theObjectFilter; 00116 } 00117 00118 inline Tvoid TObjectStream::SetObjectFilter( TObjectFilter* filter ) 00119 { 00120 theObjectFilter = filter; 00121 return; 00122 } 00123 00124 inline Tbool TObjectStream::HasFilter() const 00125 { 00126 return ( theObjectFilter != 0 ) ? Ttrue : Tfalse; 00127 } 00128 00129 inline Tint TObjectStream::GetTotalDataSize() const 00130 { 00131 return theTotalDataSize; 00132 } 00133 00134 #endif