JD2022-TU1/main/extern/Raki/Source/RakiTests/Stream/ReadFileStream.h

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