| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #ifndef CORE_FXCRT_FX_STREAM_H_ | 7 #ifndef CORE_FXCRT_FX_STREAM_H_ |
| 8 #define CORE_FXCRT_FX_STREAM_H_ | 8 #define CORE_FXCRT_FX_STREAM_H_ |
| 9 | 9 |
| 10 #include "core/fxcrt/fx_string.h" | 10 #include "core/fxcrt/fx_string.h" |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 #define FX_GETBYTEOFFSET8(a) ((uint8_t)(a >> 8)) | 52 #define FX_GETBYTEOFFSET8(a) ((uint8_t)(a >> 8)) |
| 53 #define FX_GETBYTEOFFSET0(a) ((uint8_t)(a)) | 53 #define FX_GETBYTEOFFSET0(a) ((uint8_t)(a)) |
| 54 #define FX_FILEMODE_Write 0 | 54 #define FX_FILEMODE_Write 0 |
| 55 #define FX_FILEMODE_ReadOnly 1 | 55 #define FX_FILEMODE_ReadOnly 1 |
| 56 #define FX_FILEMODE_Truncate 2 | 56 #define FX_FILEMODE_Truncate 2 |
| 57 | 57 |
| 58 class IFX_WriteStream { | 58 class IFX_WriteStream { |
| 59 public: | 59 public: |
| 60 virtual ~IFX_WriteStream() {} | 60 virtual ~IFX_WriteStream() {} |
| 61 virtual void Release() = 0; | 61 virtual void Release() = 0; |
| 62 virtual FX_BOOL WriteBlock(const void* pData, size_t size) = 0; | 62 virtual bool WriteBlock(const void* pData, size_t size) = 0; |
| 63 }; | 63 }; |
| 64 | 64 |
| 65 class IFX_ReadStream { | 65 class IFX_ReadStream { |
| 66 public: | 66 public: |
| 67 virtual ~IFX_ReadStream() {} | 67 virtual ~IFX_ReadStream() {} |
| 68 | 68 |
| 69 virtual void Release() = 0; | 69 virtual void Release() = 0; |
| 70 virtual FX_BOOL IsEOF() = 0; | 70 virtual bool IsEOF() = 0; |
| 71 virtual FX_FILESIZE GetPosition() = 0; | 71 virtual FX_FILESIZE GetPosition() = 0; |
| 72 virtual size_t ReadBlock(void* buffer, size_t size) = 0; | 72 virtual size_t ReadBlock(void* buffer, size_t size) = 0; |
| 73 }; | 73 }; |
| 74 | 74 |
| 75 class IFX_SeekableWriteStream : public IFX_WriteStream { | 75 class IFX_SeekableWriteStream : public IFX_WriteStream { |
| 76 public: | 76 public: |
| 77 // IFX_WriteStream: | 77 // IFX_WriteStream: |
| 78 FX_BOOL WriteBlock(const void* pData, size_t size) override; | 78 bool WriteBlock(const void* pData, size_t size) override; |
| 79 virtual FX_FILESIZE GetSize() = 0; | 79 virtual FX_FILESIZE GetSize() = 0; |
| 80 virtual FX_BOOL Flush() = 0; | 80 virtual bool Flush() = 0; |
| 81 virtual FX_BOOL WriteBlock(const void* pData, | 81 virtual bool WriteBlock(const void* pData, |
| 82 FX_FILESIZE offset, | 82 FX_FILESIZE offset, |
| 83 size_t size) = 0; | 83 size_t size) = 0; |
| 84 }; | 84 }; |
| 85 | 85 |
| 86 class IFX_SeekableReadStream : public IFX_ReadStream { | 86 class IFX_SeekableReadStream : public IFX_ReadStream { |
| 87 public: | 87 public: |
| 88 // IFX_ReadStream: | 88 // IFX_ReadStream: |
| 89 void Release() override = 0; | 89 void Release() override = 0; |
| 90 FX_BOOL IsEOF() override; | 90 bool IsEOF() override; |
| 91 FX_FILESIZE GetPosition() override; | 91 FX_FILESIZE GetPosition() override; |
| 92 size_t ReadBlock(void* buffer, size_t size) override; | 92 size_t ReadBlock(void* buffer, size_t size) override; |
| 93 | 93 |
| 94 virtual FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) = 0; | 94 virtual bool ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) = 0; |
| 95 virtual FX_FILESIZE GetSize() = 0; | 95 virtual FX_FILESIZE GetSize() = 0; |
| 96 }; | 96 }; |
| 97 | 97 |
| 98 IFX_SeekableReadStream* FX_CreateFileRead(const FX_CHAR* filename); | 98 IFX_SeekableReadStream* FX_CreateFileRead(const FX_CHAR* filename); |
| 99 IFX_SeekableReadStream* FX_CreateFileRead(const FX_WCHAR* filename); | 99 IFX_SeekableReadStream* FX_CreateFileRead(const FX_WCHAR* filename); |
| 100 | 100 |
| 101 class IFX_SeekableStream : public IFX_SeekableReadStream, | 101 class IFX_SeekableStream : public IFX_SeekableReadStream, |
| 102 public IFX_SeekableWriteStream { | 102 public IFX_SeekableWriteStream { |
| 103 public: | 103 public: |
| 104 virtual IFX_SeekableStream* Retain() = 0; | 104 virtual IFX_SeekableStream* Retain() = 0; |
| 105 | 105 |
| 106 // IFX_SeekableReadStream: | 106 // IFX_SeekableReadStream: |
| 107 void Release() override = 0; | 107 void Release() override = 0; |
| 108 FX_BOOL IsEOF() override = 0; | 108 bool IsEOF() override = 0; |
| 109 FX_FILESIZE GetPosition() override = 0; | 109 FX_FILESIZE GetPosition() override = 0; |
| 110 size_t ReadBlock(void* buffer, size_t size) override = 0; | 110 size_t ReadBlock(void* buffer, size_t size) override = 0; |
| 111 FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override = 0; | 111 bool ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override = 0; |
| 112 FX_FILESIZE GetSize() override = 0; | 112 FX_FILESIZE GetSize() override = 0; |
| 113 | 113 |
| 114 // IFX_SeekableWriteStream: | 114 // IFX_SeekableWriteStream: |
| 115 FX_BOOL WriteBlock(const void* buffer, | 115 bool WriteBlock(const void* buffer, |
| 116 FX_FILESIZE offset, | 116 FX_FILESIZE offset, |
| 117 size_t size) override = 0; | 117 size_t size) override = 0; |
| 118 FX_BOOL WriteBlock(const void* buffer, size_t size) override; | 118 bool WriteBlock(const void* buffer, size_t size) override; |
| 119 FX_BOOL Flush() override = 0; | 119 bool Flush() override = 0; |
| 120 }; | 120 }; |
| 121 | 121 |
| 122 IFX_SeekableStream* FX_CreateFileStream(const FX_CHAR* filename, | 122 IFX_SeekableStream* FX_CreateFileStream(const FX_CHAR* filename, |
| 123 uint32_t dwModes); | 123 uint32_t dwModes); |
| 124 IFX_SeekableStream* FX_CreateFileStream(const FX_WCHAR* filename, | 124 IFX_SeekableStream* FX_CreateFileStream(const FX_WCHAR* filename, |
| 125 uint32_t dwModes); | 125 uint32_t dwModes); |
| 126 | 126 |
| 127 #ifdef PDF_ENABLE_XFA | 127 #ifdef PDF_ENABLE_XFA |
| 128 class IFX_FileAccess { | 128 class IFX_FileAccess { |
| 129 public: | 129 public: |
| 130 virtual ~IFX_FileAccess() {} | 130 virtual ~IFX_FileAccess() {} |
| 131 virtual void Release() = 0; | 131 virtual void Release() = 0; |
| 132 virtual IFX_FileAccess* Retain() = 0; | 132 virtual IFX_FileAccess* Retain() = 0; |
| 133 virtual void GetPath(CFX_WideString& wsPath) = 0; | 133 virtual void GetPath(CFX_WideString& wsPath) = 0; |
| 134 virtual IFX_SeekableStream* CreateFileStream(uint32_t dwModes) = 0; | 134 virtual IFX_SeekableStream* CreateFileStream(uint32_t dwModes) = 0; |
| 135 }; | 135 }; |
| 136 IFX_FileAccess* FX_CreateDefaultFileAccess(const CFX_WideStringC& wsPath); | 136 IFX_FileAccess* FX_CreateDefaultFileAccess(const CFX_WideStringC& wsPath); |
| 137 #endif // PDF_ENABLE_XFA | 137 #endif // PDF_ENABLE_XFA |
| 138 | 138 |
| 139 class IFX_MemoryStream : public IFX_SeekableStream { | 139 class IFX_MemoryStream : public IFX_SeekableStream { |
| 140 public: | 140 public: |
| 141 virtual FX_BOOL IsConsecutive() const = 0; | 141 virtual bool IsConsecutive() const = 0; |
| 142 virtual void EstimateSize(size_t nInitSize, size_t nGrowSize) = 0; | 142 virtual void EstimateSize(size_t nInitSize, size_t nGrowSize) = 0; |
| 143 virtual uint8_t* GetBuffer() const = 0; | 143 virtual uint8_t* GetBuffer() const = 0; |
| 144 virtual void AttachBuffer(uint8_t* pBuffer, | 144 virtual void AttachBuffer(uint8_t* pBuffer, |
| 145 size_t nSize, | 145 size_t nSize, |
| 146 FX_BOOL bTakeOver = FALSE) = 0; | 146 bool bTakeOver = FALSE) = 0; |
| 147 virtual void DetachBuffer() = 0; | 147 virtual void DetachBuffer() = 0; |
| 148 }; | 148 }; |
| 149 | 149 |
| 150 IFX_MemoryStream* FX_CreateMemoryStream(uint8_t* pBuffer, | 150 IFX_MemoryStream* FX_CreateMemoryStream(uint8_t* pBuffer, |
| 151 size_t nSize, | 151 size_t nSize, |
| 152 FX_BOOL bTakeOver = FALSE); | 152 bool bTakeOver = FALSE); |
| 153 IFX_MemoryStream* FX_CreateMemoryStream(FX_BOOL bConsecutive = FALSE); | 153 IFX_MemoryStream* FX_CreateMemoryStream(bool bConsecutive = FALSE); |
| 154 | 154 |
| 155 class IFX_BufferRead : public IFX_ReadStream { | 155 class IFX_BufferRead : public IFX_ReadStream { |
| 156 public: | 156 public: |
| 157 // IFX_ReadStream: | 157 // IFX_ReadStream: |
| 158 void Release() override = 0; | 158 void Release() override = 0; |
| 159 FX_BOOL IsEOF() override = 0; | 159 bool IsEOF() override = 0; |
| 160 FX_FILESIZE GetPosition() override = 0; | 160 FX_FILESIZE GetPosition() override = 0; |
| 161 size_t ReadBlock(void* buffer, size_t size) override = 0; | 161 size_t ReadBlock(void* buffer, size_t size) override = 0; |
| 162 | 162 |
| 163 virtual FX_BOOL ReadNextBlock(FX_BOOL bRestart = FALSE) = 0; | 163 virtual bool ReadNextBlock(bool bRestart = FALSE) = 0; |
| 164 virtual const uint8_t* GetBlockBuffer() = 0; | 164 virtual const uint8_t* GetBlockBuffer() = 0; |
| 165 virtual size_t GetBlockSize() = 0; | 165 virtual size_t GetBlockSize() = 0; |
| 166 virtual FX_FILESIZE GetBlockOffset() = 0; | 166 virtual FX_FILESIZE GetBlockOffset() = 0; |
| 167 }; | 167 }; |
| 168 | 168 |
| 169 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ | 169 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ |
| 170 class CFindFileData { | 170 class CFindFileData { |
| 171 public: | 171 public: |
| 172 virtual ~CFindFileData() {} | 172 virtual ~CFindFileData() {} |
| 173 HANDLE m_Handle; | 173 HANDLE m_Handle; |
| 174 bool m_bEnd; | 174 bool m_bEnd; |
| 175 }; | 175 }; |
| 176 | 176 |
| 177 class CFindFileDataA : public CFindFileData { | 177 class CFindFileDataA : public CFindFileData { |
| 178 public: | 178 public: |
| 179 ~CFindFileDataA() override {} | 179 ~CFindFileDataA() override {} |
| 180 WIN32_FIND_DATAA m_FindData; | 180 WIN32_FIND_DATAA m_FindData; |
| 181 }; | 181 }; |
| 182 | 182 |
| 183 class CFindFileDataW : public CFindFileData { | 183 class CFindFileDataW : public CFindFileData { |
| 184 public: | 184 public: |
| 185 ~CFindFileDataW() override {} | 185 ~CFindFileDataW() override {} |
| 186 WIN32_FIND_DATAW m_FindData; | 186 WIN32_FIND_DATAW m_FindData; |
| 187 }; | 187 }; |
| 188 #endif | 188 #endif |
| 189 | 189 |
| 190 #endif // CORE_FXCRT_FX_STREAM_H_ | 190 #endif // CORE_FXCRT_FX_STREAM_H_ |
| OLD | NEW |