46 lines
1.2 KiB
C++
46 lines
1.2 KiB
C++
|
|
#ifndef RAKI_READFILESTREAM_H
|
|
#define RAKI_READFILESTREAM_H
|
|
|
|
#include "RakiEngine/Data/Stream/FileStream.h"
|
|
|
|
namespace raki
|
|
{
|
|
class ReadFileStream
|
|
: public FileStream
|
|
{
|
|
public:
|
|
ReadFileStream();
|
|
virtual ~ReadFileStream();
|
|
|
|
virtual bool open( const char * _path );
|
|
virtual void close();
|
|
|
|
// from SeekableStream
|
|
virtual u64 stream( void * _data, const u64 _size );
|
|
virtual u64 seek( const u64 _size, const SeekType _seekType );
|
|
virtual u64 getCurrentPos() const;
|
|
virtual u64 getSize() const;
|
|
|
|
private:
|
|
u64 m_size;
|
|
#if defined ( RAKI_USING_XAUDIO2 )
|
|
FILE * m_file;
|
|
#elif defined ( RAKI_PLATFORM_PS3 )
|
|
int m_file;
|
|
u64 m_currentPos;
|
|
#elif defined ( RAKI_PLATFORM_WII )
|
|
DVDFileInfo m_fileInfo;
|
|
u64 m_currentPos;
|
|
void * m_fileCopy;
|
|
#elif defined ( RAKI_PLATFORM_CAFE )
|
|
u64 m_currentPos;
|
|
void * m_fileCopy;
|
|
#elif defined ( RAKI_PLATFORM_ORBIS ) || ( RAKI_PLATFORM_PROSPERO )
|
|
FILE * m_file;
|
|
#endif
|
|
};
|
|
} // namespace raki
|
|
|
|
#endif // RAKI_READFILESTREAM_H
|
|
|