// ============================================================================ // $Id$ // $Name$ // ============================================================================ #ifndef __TOBJECTFILE_HH #define __TOBJECTFILE_HH #include "TGlobals.hh" // ステータスを考慮せねばならない // 例外を考慮せねばならない class TObjectFile { public: enum { tSeekBegin = SEEK_SET, tSeekCurrent = SEEK_CUR, tSeekEnd = SEEK_END }; protected: Tstring theFileName; Tstring theMode; TFileStream* theFileStream; public: TObjectFile( const Tstring& filename, const Tstring& mode ); protected: virtual ~TObjectFile(); public: inline const Tstring& GetFileName() const; inline const Tstring& GetMode() const; inline TFileStream* GetFileStream() const; inline Tvoid SetFileName( const Tstring& filename ); inline Tvoid SetMode( const Tstring& mode ); public: //inline const Tvoid* SetFileStream() const; inline Tvoid SetOffset( Tint offset, Tint whence = tSeekCurrent ); inline Tint GetOffset(); }; inline const Tstring& TObjectFile::GetFileName() const { return( theFileName ); } inline const Tstring& TObjectFile::GetMode() const { return( theMode ); } inline TFileStream* TObjectFile::GetFileStream() const { return( theFileStream ); } inline Tvoid TObjectFile::SetFileName( const Tstring& filename ) { theFileName = filename; return; } inline Tvoid TObjectFile::SetMode( const Tstring& mode ) { // reopenしなくては theMode = mode; return; } inline Tvoid TObjectFile::SetOffset( Tint offset, Tint whence ) { fseek( theFileStream, (Tlong)offset, whence ); return; } inline Tint TObjectFile::GetOffset() { return( (Tint)( ftell( theFileStream ) ) ); } #endif