TObjectFile.hh

TObjectFileクラスの解説 TObjectFile.cc
// ============================================================================
//  $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
$Id$
$Name$