CrossFramework Library
|
00001 00006 #if defined(XBASE_INCLUDED_RESFILESTREAM_HPP) 00007 #else 00008 #define XBASE_INCLUDED_RESFILESTREAM_HPP 00009 00010 //------------------------------------------------------------ 00011 #include <XBase/FunctionAttribute.hpp> 00012 #include <XBase/IAllocator.hpp> 00013 #include <XBase/IReadStream.hpp> 00014 00015 // EXT 00016 #include <XBase/ResFileStream_STDC.hpp> 00017 00018 //------------------------------------------------------------ 00019 namespace XBase { 00021 00022 00035 class ResFileStream : public IReadStream 00036 { 00037 public: 00039 00040 00041 static const pword_t ReadBufferAlignment = IAllocator::DefaultAlignment; 00043 00045 00046 00053 static pword_t CalcReadBufferSize( pword_t aSize ); 00055 00057 00058 00062 ResFileStream(); 00063 00069 ResFileStream( const char* aPath ); 00070 00075 virtual ~ResFileStream(); 00077 00079 00080 00086 bool open( const char* aPath ); 00088 00089 // IReadStreamの実装。 00090 XBASE_OVERRIDE( pword_t requireReadBufferAlignment()const ); 00091 XBASE_OVERRIDE( pword_t calcReadBufferSize( pword_t aSize )const ); 00092 XBASE_OVERRIDE( pword_t seek( int aOffset , SeekOrigin aOrigin ) ); 00093 XBASE_OVERRIDE( pword_t read( ptr_t aBuffer , pword_t aSize ) ); 00094 XBASE_OVERRIDE( void close() ); 00095 00096 private: 00097 ResFileStream_EXT mEXT; 00098 }; 00099 00101 } 00102 //------------------------------------------------------------ 00103 #endif 00104 // EOF