// ============================================================================ // $Id$ // $Name$ // ============================================================================ #ifndef __TOUTPUTOBJECTFILE_HH #define __TOUTPUTOBJECTFILE_HH #include "TGlobals.hh" #include "TObjectFile.hh" #include "TStreamableObject.hh" #include "TOutputObjectStream.hh" #include "TDataFilter.hh" class TStreamableObject; class TDataFilter; class TOutputObjectFile : public TObjectFile, public TOutputObjectStream { public: TOutputObjectFile( const Tstring& filename, const Tstring& mode = "w" ); TOutputObjectFile( TDataFilter* filter, const Tstring& filename, const Tstring& mode = "w" ); ~TOutputObjectFile(); public: inline Tint WriteData( TStreamableObject* object ); }; inline Tint TOutputObjectFile::WriteData( TStreamableObject* object ) { if ( HasFilter() ) return( theNumberOfOutputs += theDataFilter -> Filter( object, this ) ); else return( theNumberOfOutputs += object -> WriteData( this ) ); } #endif