Index: core/include/fxcrt/fx_stream.h |
diff --git a/core/include/fxcrt/fx_stream.h b/core/include/fxcrt/fx_stream.h |
index 3260807940a7e922be16b2229873bca000ba8bd3..a5599b04d0730c0797e5a916188b7d150e4b03db 100644 |
--- a/core/include/fxcrt/fx_stream.h |
+++ b/core/include/fxcrt/fx_stream.h |
@@ -62,76 +62,71 @@ class IFX_StreamWrite { |
virtual void Release() = 0; |
virtual FX_BOOL WriteBlock(const void* pData, size_t size) = 0; |
}; |
+ |
class IFX_FileWrite : public IFX_StreamWrite { |
public: |
- virtual void Release() = 0; |
+ // IFX_StreamWrite: |
+ FX_BOOL WriteBlock(const void* pData, size_t size) override { |
+ return WriteBlock(pData, GetSize(), size); |
+ } |
virtual FX_FILESIZE GetSize() = 0; |
- |
virtual FX_BOOL Flush() = 0; |
- |
virtual FX_BOOL WriteBlock(const void* pData, |
FX_FILESIZE offset, |
size_t size) = 0; |
- virtual FX_BOOL WriteBlock(const void* pData, size_t size) { |
- return WriteBlock(pData, GetSize(), size); |
- } |
}; |
+ |
class IFX_StreamRead { |
public: |
virtual ~IFX_StreamRead() {} |
virtual void Release() = 0; |
- |
virtual FX_BOOL IsEOF() = 0; |
- |
virtual FX_FILESIZE GetPosition() = 0; |
- |
virtual size_t ReadBlock(void* buffer, size_t size) = 0; |
}; |
+ |
class IFX_FileRead : IFX_StreamRead { |
public: |
- virtual void Release() = 0; |
- |
- virtual FX_FILESIZE GetSize() = 0; |
- |
- virtual FX_BOOL IsEOF() { return FALSE; } |
- |
- virtual FX_FILESIZE GetPosition() { return 0; } |
+ // IFX_StreamRead: |
+ void Release() override = 0; |
+ FX_BOOL IsEOF() override { return FALSE; } |
+ FX_FILESIZE GetPosition() override { return 0; } |
+ size_t ReadBlock(void* buffer, size_t size) override { return 0; } |
virtual FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) = 0; |
- |
- virtual size_t ReadBlock(void* buffer, size_t size) { return 0; } |
+ virtual FX_FILESIZE GetSize() = 0; |
}; |
+ |
IFX_FileRead* FX_CreateFileRead(const FX_CHAR* filename); |
IFX_FileRead* FX_CreateFileRead(const FX_WCHAR* filename); |
+ |
class IFX_FileStream : public IFX_FileRead, public IFX_FileWrite { |
public: |
virtual IFX_FileStream* Retain() = 0; |
- virtual void Release() = 0; |
- |
- virtual FX_FILESIZE GetSize() = 0; |
- |
- virtual FX_BOOL IsEOF() = 0; |
- |
- virtual FX_FILESIZE GetPosition() = 0; |
- |
- virtual FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) = 0; |
- |
- virtual size_t ReadBlock(void* buffer, size_t size) = 0; |
- |
- virtual FX_BOOL WriteBlock(const void* buffer, |
- FX_FILESIZE offset, |
- size_t size) = 0; |
- virtual FX_BOOL WriteBlock(const void* buffer, size_t size) { |
+ // IFX_FileRead: |
+ void Release() override = 0; |
+ FX_BOOL IsEOF() override = 0; |
+ FX_FILESIZE GetPosition() override = 0; |
+ size_t ReadBlock(void* buffer, size_t size) override = 0; |
+ FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override = 0; |
+ FX_FILESIZE GetSize() override = 0; |
+ |
+ // IFX_FileWrite: |
+ FX_BOOL WriteBlock(const void* buffer, |
+ FX_FILESIZE offset, |
+ size_t size) override = 0; |
+ FX_BOOL WriteBlock(const void* buffer, size_t size) override { |
return WriteBlock(buffer, GetSize(), size); |
} |
- |
- virtual FX_BOOL Flush() = 0; |
+ FX_BOOL Flush() override = 0; |
}; |
+ |
IFX_FileStream* FX_CreateFileStream(const FX_CHAR* filename, FX_DWORD dwModes); |
IFX_FileStream* FX_CreateFileStream(const FX_WCHAR* filename, FX_DWORD dwModes); |
+ |
class IFX_MemoryStream : public IFX_FileStream { |
public: |
virtual FX_BOOL IsConsecutive() const = 0; |
@@ -152,20 +147,15 @@ IFX_MemoryStream* FX_CreateMemoryStream(uint8_t* pBuffer, |
IFX_MemoryStream* FX_CreateMemoryStream(FX_BOOL bConsecutive = FALSE); |
class IFX_BufferRead : public IFX_StreamRead { |
public: |
- virtual void Release() = 0; |
- |
- virtual FX_BOOL IsEOF() = 0; |
- |
- virtual FX_FILESIZE GetPosition() = 0; |
- |
- virtual size_t ReadBlock(void* buffer, size_t size) = 0; |
+ // IFX_StreamRead: |
+ void Release() override = 0; |
+ FX_BOOL IsEOF() override = 0; |
+ FX_FILESIZE GetPosition() override = 0; |
+ size_t ReadBlock(void* buffer, size_t size) override = 0; |
virtual FX_BOOL ReadNextBlock(FX_BOOL bRestart = FALSE) = 0; |
- |
virtual const uint8_t* GetBlockBuffer() = 0; |
- |
virtual size_t GetBlockSize() = 0; |
- |
virtual FX_FILESIZE GetBlockOffset() = 0; |
}; |