"L. Spiro Engine"
|
00001 00016 #ifndef __LSF_FILESTREAM_H__ 00017 #define __LSF_FILESTREAM_H__ 00018 00019 #include "../LSFFileLib.h" 00020 #include "Streams/LSSTDStream.h" 00021 00022 namespace lsf { 00023 00030 class CFileStream : public lsstd::IStream { 00031 public : 00032 // == Various constructors. 00033 LSE_CALLCTOR CFileStream( const LSCHAR * _pcFile, LSF_OPEN_FILE _ofOpenType, LSBOOL _bOpenAlways ); 00034 LSE_CALLCTOR ~CFileStream(); 00035 00036 00037 // == Functions. 00045 virtual LSUINT32 LSE_CALL ReadBytes( LSUINT8 * _pui8Buffer, LSUINT32 _ui32BytesToRead ) const; 00046 00052 virtual LSUINT64 LSE_CALL ReadUInt64() const; 00053 00059 virtual LSUINT32 LSE_CALL ReadUInt32() const; 00060 00066 virtual LSUINT16 LSE_CALL ReadUInt16() const; 00067 00073 virtual LSUINT8 LSE_CALL ReadUInt8() const; 00074 00080 virtual LSFLOAT LSE_CALL ReadFloat() const; 00081 00087 virtual LSDOUBLE LSE_CALL ReadDouble() const; 00088 00096 virtual LSUINT32 LSE_CALL WriteBytes( const LSUINT8 * _pui8Buffer, LSUINT32 _ui32BytesToWrite ); 00097 00103 virtual LSBOOL LSE_CALL WriteUInt64( const LSUINT64 &_ui64Value ); 00104 00110 virtual LSBOOL LSE_CALL WriteUInt32( LSUINT32 _ui32Value ); 00111 00117 virtual LSBOOL LSE_CALL WriteUInt16( LSUINT16 _ui16Value ); 00118 00124 virtual LSBOOL LSE_CALL WriteUInt8( LSUINT8 _ui8Value ); 00125 00131 virtual LSBOOL LSE_CALL WriteFloat( LSFLOAT _fValue ); 00132 00138 virtual LSBOOL LSE_CALL WriteDouble( const LSDOUBLE &_dValue ); 00139 00140 00141 protected : 00142 // == Members. 00146 LSF_FILE m_fFile; 00147 }; 00148 00149 00150 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00151 // DEFINITIONS 00152 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00153 00154 00155 } // namespace lsf 00156 00157 #endif // __LSF_FILESTREAM_H__