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 c369830382f8e94765dfcd3ffebbaf73b6a62152..544eacdb5b18cfc87c65bbc65dad2e59d4a18880 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_FileAccess { |
|
Lei Zhang
2015/11/20 06:20:52
Conflict: XFA only.
|
| public: |
| virtual ~IFX_FileAccess() {} |
| @@ -141,6 +136,7 @@ class IFX_FileAccess { |
| virtual IFX_FileStream* CreateFileStream(FX_DWORD dwModes) = 0; |
| }; |
| IFX_FileAccess* FX_CreateDefaultFileAccess(const CFX_WideStringC& wsPath); |
| + |
| class IFX_MemoryStream : public IFX_FileStream { |
| public: |
| virtual FX_BOOL IsConsecutive() const = 0; |
| @@ -161,20 +157,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; |
| }; |