00001 // ===================================================================== 00028 // ===================================================================== 00029 #ifndef __TINPUTOBJECTFILE_HH 00030 #define __TINPUTOBJECTFILE_HH 00031 00032 #include "Tglobals.h" 00033 #include "TObjectFile.hh" 00034 #include "TInputObjectStream.hh" 00035 00036 class TStreamableObject; 00037 class TDataRecord; 00038 class TDataSection; 00039 class TDataSegment; 00040 class TDataElement; 00041 class TObjectFilter; 00042 00043 00063 class TInputObjectFile 00064 : public TObjectFile, public TInputObjectStream 00065 { 00066 00067 public: 00068 TInputObjectFile( const Tstring& filename, const Tstring& mode = "r" ); 00069 TInputObjectFile( TObjectFilter* filter, const Tstring& filename, const Tstring& mode = "r" ); 00070 virtual ~TInputObjectFile(); 00071 00072 public: 00073 virtual Tint Read( TStreamableObject& object ); 00074 00075 protected: 00076 virtual TDataRecord getDataRecord(); 00077 virtual TDataSection getDataSection(); 00078 virtual TDataSegment getDataSegment(); 00079 virtual TDataElement getDataElement(); 00080 virtual Tvoid readProperties( Tint& recsize, Tobject_t& type, Tstring& id, Tsize_t& entries ); 00081 00082 }; 00083 00084 #endif