121 lines
3.7 KiB
C
121 lines
3.7 KiB
C
|
//===========================================================================//
|
||
|
// Purpose : Declaration and inline definitions for a TIO_FileHandler class.
|
||
|
//
|
||
|
// Inline methods include:
|
||
|
// - Flush
|
||
|
// - Reset
|
||
|
// - GetFileName
|
||
|
// - GetFileStream
|
||
|
//
|
||
|
//===========================================================================//
|
||
|
|
||
|
#ifndef TIO_FILE_HANDLER_H
|
||
|
#define TIO_FILE_HANDLER_H
|
||
|
|
||
|
#include <cstdio>
|
||
|
#include <string>
|
||
|
using namespace std;
|
||
|
|
||
|
#include "TIO_Typedefs.h"
|
||
|
|
||
|
//===========================================================================//
|
||
|
// Purpose: : Class declaration
|
||
|
// Author : Jeff Rudolph
|
||
|
//---------------------------------------------------------------------------//
|
||
|
// Version history
|
||
|
// 05/01/12 jeffr : Original
|
||
|
//===========================================================================//
|
||
|
class TIO_FileHandler_c
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
TIO_FileHandler_c( void );
|
||
|
TIO_FileHandler_c( const string& srFileName,
|
||
|
TIO_FileOpenMode_t fileOpen = TIO_FILE_OPEN_UNDEFINED,
|
||
|
const char* pszFileType = 0,
|
||
|
TIO_PrintMode_t printMode = TIO_PRINT_ERROR );
|
||
|
TIO_FileHandler_c( const char* pszFileName,
|
||
|
TIO_FileOpenMode_t fileOpen = TIO_FILE_OPEN_UNDEFINED,
|
||
|
const char* pszFileType = 0,
|
||
|
TIO_PrintMode_t printMode = TIO_PRINT_ERROR );
|
||
|
~TIO_FileHandler_c( void );
|
||
|
|
||
|
bool Open( const string& srFileName,
|
||
|
TIO_FileOpenMode_t fileOpen,
|
||
|
const char* pszFileType = 0,
|
||
|
TIO_PrintMode_t printMode = TIO_PRINT_ERROR );
|
||
|
bool Open( const char* pszFileName,
|
||
|
TIO_FileOpenMode_t fileOpen,
|
||
|
const char* pszFileType = 0,
|
||
|
TIO_PrintMode_t printMode = TIO_PRINT_ERROR );
|
||
|
void Close( void );
|
||
|
|
||
|
bool Read( char* pszString, size_t lenString ) const;
|
||
|
bool Write( const char* pszString, ... );
|
||
|
|
||
|
void Flush( void );
|
||
|
void Reset( void ) const;
|
||
|
|
||
|
const char* GetFileName( void ) const;
|
||
|
FILE* GetFileStream( void ) const;
|
||
|
|
||
|
bool ApplyPreProcessor( void );
|
||
|
|
||
|
bool IsValid( const string& srFileName,
|
||
|
TIO_FileOpenMode_t fileOpen,
|
||
|
const char* pszFileType = 0,
|
||
|
TIO_PrintMode_t printMode = TIO_PRINT_ERROR ) const;
|
||
|
bool IsValid( const char* pszFileName,
|
||
|
TIO_FileOpenMode_t fileOpen,
|
||
|
const char* pszFileType = 0,
|
||
|
TIO_PrintMode_t printMode = TIO_PRINT_ERROR ) const;
|
||
|
bool IsValid( void ) const;
|
||
|
|
||
|
private:
|
||
|
|
||
|
string srFileName_;
|
||
|
FILE* pfileStream_;
|
||
|
};
|
||
|
|
||
|
//===========================================================================//
|
||
|
// Purpose: : Class inline definition(s)
|
||
|
// Author : Jeff Rudolph
|
||
|
//---------------------------------------------------------------------------//
|
||
|
// Version history
|
||
|
// 05/01/12 jeffr : Original
|
||
|
//===========================================================================//
|
||
|
inline void TIO_FileHandler_c::Flush(
|
||
|
void )
|
||
|
{
|
||
|
if( this->pfileStream_ )
|
||
|
{
|
||
|
fflush( this->pfileStream_ );
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//===========================================================================//
|
||
|
inline void TIO_FileHandler_c::Reset(
|
||
|
void ) const
|
||
|
{
|
||
|
if( this->pfileStream_ )
|
||
|
{
|
||
|
fseek( this->pfileStream_, 0, SEEK_SET );
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//===========================================================================//
|
||
|
inline FILE* TIO_FileHandler_c::GetFileStream(
|
||
|
void ) const
|
||
|
{
|
||
|
return( this->pfileStream_ );
|
||
|
}
|
||
|
|
||
|
//===========================================================================//
|
||
|
inline const char* TIO_FileHandler_c::GetFileName(
|
||
|
void ) const
|
||
|
{
|
||
|
return( this->srFileName_.data( ));
|
||
|
}
|
||
|
|
||
|
#endif
|