Chromium Code Reviews| Index: core/include/fxcrt/fx_stream.h |
| diff --git a/core/include/fxcrt/fx_stream.h b/core/include/fxcrt/fx_stream.h |
| index 7856dcbb1205ae00574094a483f0e17c7868c926..70f8851c7bb98f405628bb43d066c4b500d92ad1 100644 |
| --- a/core/include/fxcrt/fx_stream.h |
| +++ b/core/include/fxcrt/fx_stream.h |
| @@ -63,76 +63,71 @@ class IFX_StreamWrite { |
| virtual FX_BOOL WriteBlock(const void* pData, size_t size) = 0; |
| }; |
| + |
| class IFX_FileWrite : public IFX_StreamWrite { |
| public: |
| - virtual void Release() = 0; |
|
Tom Sepez
2015/11/18 00:36:22
what happened to Release()?
Lei Zhang
2015/11/19 00:39:04
Doesn't it seem silly to override a pure virtual m
|
| + // 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; |
|
Tom Sepez
2015/11/18 00:36:22
I'd not seen override = 0 before. Does that make
Lei Zhang
2015/11/19 00:39:04
I tried removing this, but then the compiler reali
|
| + 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; |
|
Tom Sepez
2015/11/18 00:36:22
ditto
Lei Zhang
2015/11/19 00:39:04
ditto ditto
|
| + 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; |
| @@ -153,20 +148,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; |
| }; |