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 _FX_STREAM_H_ | 7 #ifndef _FX_STREAM_H_ |
8 #define _FX_STREAM_H_ | 8 #define _FX_STREAM_H_ |
9 #ifndef _FX_MEMORY_H_ | 9 #ifndef _FX_MEMORY_H_ |
10 #include "fx_memory.h" | 10 #include "fx_memory.h" |
11 #endif | 11 #endif |
12 void* FX_OpenFolder(FX_LPCSTR path); | 12 void* FX_OpenFolder(FX_LPCSTR path); |
13 void* FX_OpenFolder(FX_LPCWSTR path); | 13 void* FX_OpenFolder(FX_LPCWSTR path); |
14 FX_BOOL FX_GetNextFile(void* handle, CFX_ByteString& filename, FX_BOOL& bFolder)
; | 14 FX_BOOL FX_GetNextFile(void* handle, CFX_ByteString& filename, FX_BOOL& bFolder)
; |
(...skipping 19 matching lines...) Expand all Loading... |
34 #define FX_GETBYTEOFFSET40(a) 0 | 34 #define FX_GETBYTEOFFSET40(a) 0 |
35 #define FX_GETBYTEOFFSET48(a) 0 | 35 #define FX_GETBYTEOFFSET48(a) 0 |
36 #define FX_GETBYTEOFFSET56(a) 0 | 36 #define FX_GETBYTEOFFSET56(a) 0 |
37 #define FX_GETBYTEOFFSET24(a) ((FX_BYTE)(a>>24)) | 37 #define FX_GETBYTEOFFSET24(a) ((FX_BYTE)(a>>24)) |
38 #define FX_GETBYTEOFFSET16(a) ((FX_BYTE)(a>>16)) | 38 #define FX_GETBYTEOFFSET16(a) ((FX_BYTE)(a>>16)) |
39 #define FX_GETBYTEOFFSET8(a) ((FX_BYTE)(a>>8)) | 39 #define FX_GETBYTEOFFSET8(a) ((FX_BYTE)(a>>8)) |
40 #define FX_GETBYTEOFFSET0(a) ((FX_BYTE)(a)) | 40 #define FX_GETBYTEOFFSET0(a) ((FX_BYTE)(a)) |
41 #define FX_FILEMODE_Write 0 | 41 #define FX_FILEMODE_Write 0 |
42 #define FX_FILEMODE_ReadOnly 1 | 42 #define FX_FILEMODE_ReadOnly 1 |
43 #define FX_FILEMODE_Truncate 2 | 43 #define FX_FILEMODE_Truncate 2 |
44 FX_HFILE» FX_File_Open(FX_BSTR fileName, FX_DWORD dwMode, IFX_Allocator* p
Allocator = NULL); | 44 FX_HFILE» FX_File_Open(FX_BSTR fileName, FX_DWORD dwMode); |
45 FX_HFILE» FX_File_Open(FX_WSTR fileName, FX_DWORD dwMode, IFX_Allocator* p
Allocator = NULL); | 45 FX_HFILE» FX_File_Open(FX_WSTR fileName, FX_DWORD dwMode); |
46 void» » FX_File_Close(FX_HFILE hFile, IFX_Allocator* pAllocator = NULL); | 46 void» » FX_File_Close(FX_HFILE hFile); |
47 FX_FILESIZE FX_File_GetSize(FX_HFILE hFile); | 47 FX_FILESIZE FX_File_GetSize(FX_HFILE hFile); |
48 FX_FILESIZE FX_File_GetPosition(FX_HFILE hFile); | 48 FX_FILESIZE FX_File_GetPosition(FX_HFILE hFile); |
49 FX_FILESIZE FX_File_SetPosition(FX_HFILE hFile, FX_FILESIZE pos); | 49 FX_FILESIZE FX_File_SetPosition(FX_HFILE hFile, FX_FILESIZE pos); |
50 size_t FX_File_Read(FX_HFILE hFile, void* pBuffer, size_t szBuffer); | 50 size_t FX_File_Read(FX_HFILE hFile, void* pBuffer, size_t szBuffer); |
51 size_t FX_File_ReadPos(FX_HFILE hFile, void* pBuffer, size_t szBuffer,
FX_FILESIZE pos); | 51 size_t FX_File_ReadPos(FX_HFILE hFile, void* pBuffer, size_t szBuffer,
FX_FILESIZE pos); |
52 size_t FX_File_Write(FX_HFILE hFile, const void* pBuffer, size_t szBuff
er); | 52 size_t FX_File_Write(FX_HFILE hFile, const void* pBuffer, size_t szBuff
er); |
53 size_t FX_File_WritePos(FX_HFILE hFile, const void* pBuffer, size_t szB
uffer, FX_FILESIZE pos); | 53 size_t FX_File_WritePos(FX_HFILE hFile, const void* pBuffer, size_t szB
uffer, FX_FILESIZE pos); |
54 FX_BOOL FX_File_Flush(FX_HFILE hFile); | 54 FX_BOOL FX_File_Flush(FX_HFILE hFile); |
55 FX_BOOL FX_File_Truncate(FX_HFILE hFile, FX_FILESIZE szFile); | 55 FX_BOOL FX_File_Truncate(FX_HFILE hFile, FX_FILESIZE szFile); |
56 FX_BOOL FX_File_Exist(FX_BSTR fileName); | 56 FX_BOOL FX_File_Exist(FX_BSTR fileName); |
(...skipping 21 matching lines...) Expand all Loading... |
78 virtual FX_FILESIZE GetSize() = 0; | 78 virtual FX_FILESIZE GetSize() = 0; |
79 | 79 |
80 virtual FX_BOOL Flush() = 0; | 80 virtual FX_BOOL Flush() = 0; |
81 | 81 |
82 virtual FX_BOOL WriteBlock(const void* pData, FX_FILESIZ
E offset, size_t size) = 0; | 82 virtual FX_BOOL WriteBlock(const void* pData, FX_FILESIZ
E offset, size_t size) = 0; |
83 virtual FX_BOOL WriteBlock(const void* pData, size_t siz
e) | 83 virtual FX_BOOL WriteBlock(const void* pData, size_t siz
e) |
84 { | 84 { |
85 return WriteBlock(pData, GetSize(), size); | 85 return WriteBlock(pData, GetSize(), size); |
86 } | 86 } |
87 }; | 87 }; |
88 IFX_FileWrite* FX_CreateFileWrite(FX_LPCSTR filename, IFX_Allocator* pAllocator
= NULL); | 88 IFX_FileWrite* FX_CreateFileWrite(FX_LPCSTR filename); |
89 IFX_FileWrite* FX_CreateFileWrite(FX_LPCWSTR filename, IFX_Allocator* pAllocator
= NULL); | 89 IFX_FileWrite* FX_CreateFileWrite(FX_LPCWSTR filename); |
90 class IFX_StreamRead | 90 class IFX_StreamRead |
91 { | 91 { |
92 public: | 92 public: |
93 | 93 |
94 virtual void Release() = 0; | 94 virtual void Release() = 0; |
95 | 95 |
96 virtual FX_BOOL IsEOF() = 0; | 96 virtual FX_BOOL IsEOF() = 0; |
97 | 97 |
98 virtual FX_FILESIZE GetPosition() = 0; | 98 virtual FX_FILESIZE GetPosition() = 0; |
99 | 99 |
(...skipping 24 matching lines...) Expand all Loading... |
124 | 124 |
125 virtual void ClearRange() {} | 125 virtual void ClearRange() {} |
126 | 126 |
127 virtual FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offs
et, size_t size) = 0; | 127 virtual FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offs
et, size_t size) = 0; |
128 | 128 |
129 virtual size_t ReadBlock(void* buffer, size_t size) | 129 virtual size_t ReadBlock(void* buffer, size_t size) |
130 { | 130 { |
131 return 0; | 131 return 0; |
132 } | 132 } |
133 }; | 133 }; |
134 IFX_FileRead* FX_CreateFileRead(FX_LPCSTR filename, IFX_Allocator* pAllocator =
NULL); | 134 IFX_FileRead* FX_CreateFileRead(FX_LPCSTR filename); |
135 IFX_FileRead* FX_CreateFileRead(FX_LPCWSTR filename, IFX_Allocator* pAllocator =
NULL); | 135 IFX_FileRead* FX_CreateFileRead(FX_LPCWSTR filename); |
136 class IFX_FileStream : public IFX_FileRead, public IFX_FileWrite | 136 class IFX_FileStream : public IFX_FileRead, public IFX_FileWrite |
137 { | 137 { |
138 public: | 138 public: |
139 | 139 |
140 virtual IFX_FileStream* Retain() = 0; | 140 virtual IFX_FileStream* Retain() = 0; |
141 | 141 |
142 virtual void Release() = 0; | 142 virtual void Release() = 0; |
143 | 143 |
144 virtual FX_FILESIZE GetSize() = 0; | 144 virtual FX_FILESIZE GetSize() = 0; |
145 | 145 |
146 virtual FX_BOOL IsEOF() = 0; | 146 virtual FX_BOOL IsEOF() = 0; |
147 | 147 |
148 virtual FX_FILESIZE GetPosition() = 0; | 148 virtual FX_FILESIZE GetPosition() = 0; |
149 | 149 |
150 virtual FX_BOOL ReadBlock(void* buffer, FX_FILES
IZE offset, size_t size) = 0; | 150 virtual FX_BOOL ReadBlock(void* buffer, FX_FILES
IZE offset, size_t size) = 0; |
151 | 151 |
152 virtual size_t ReadBlock(void* buffer, size_t s
ize) = 0; | 152 virtual size_t ReadBlock(void* buffer, size_t s
ize) = 0; |
153 | 153 |
154 virtual FX_BOOL WriteBlock(const void* buffer, F
X_FILESIZE offset, size_t size) = 0; | 154 virtual FX_BOOL WriteBlock(const void* buffer, F
X_FILESIZE offset, size_t size) = 0; |
155 virtual FX_BOOL WriteBlock(const void* buffer, s
ize_t size) | 155 virtual FX_BOOL WriteBlock(const void* buffer, s
ize_t size) |
156 { | 156 { |
157 return WriteBlock(buffer, GetSize(), size); | 157 return WriteBlock(buffer, GetSize(), size); |
158 } | 158 } |
159 | 159 |
160 virtual FX_BOOL Flush() = 0; | 160 virtual FX_BOOL Flush() = 0; |
161 }; | 161 }; |
162 IFX_FileStream*»» FX_CreateFileStream(FX_LPCSTR filename, FX_DWORD dwModes
, IFX_Allocator* pAllocator = NULL); | 162 IFX_FileStream*»» FX_CreateFileStream(FX_LPCSTR filename, FX_DWORD dwModes
); |
163 IFX_FileStream*»» FX_CreateFileStream(FX_LPCWSTR filename, FX_DWORD dwMode
s, IFX_Allocator* pAllocator = NULL); | 163 IFX_FileStream*»» FX_CreateFileStream(FX_LPCWSTR filename, FX_DWORD dwMode
s); |
164 class IFX_MemoryStream : public IFX_FileStream | 164 class IFX_MemoryStream : public IFX_FileStream |
165 { | 165 { |
166 public: | 166 public: |
167 | 167 |
168 virtual FX_BOOL IsConsecutive() const = 0; | 168 virtual FX_BOOL IsConsecutive() const = 0; |
169 | 169 |
170 virtual void EstimateSize(size_t nInitSize, size_t nG
rowSize) = 0; | 170 virtual void EstimateSize(size_t nInitSize, size_t nG
rowSize) = 0; |
171 | 171 |
172 virtual FX_LPBYTE GetBuffer() const = 0; | 172 virtual FX_LPBYTE GetBuffer() const = 0; |
173 | 173 |
174 virtual void AttachBuffer(FX_LPBYTE pBuffer, size_t n
Size, FX_BOOL bTakeOver = FALSE) = 0; | 174 virtual void AttachBuffer(FX_LPBYTE pBuffer, size_t n
Size, FX_BOOL bTakeOver = FALSE) = 0; |
175 | 175 |
176 virtual void DetachBuffer() = 0; | 176 virtual void DetachBuffer() = 0; |
177 }; | 177 }; |
178 IFX_MemoryStream*» FX_CreateMemoryStream(FX_LPBYTE pBuffer, size_t nSize, F
X_BOOL bTakeOver = FALSE, IFX_Allocator* pAllocator = NULL); | 178 IFX_MemoryStream*» FX_CreateMemoryStream(FX_LPBYTE pBuffer, size_t nSize, F
X_BOOL bTakeOver = FALSE); |
179 IFX_MemoryStream*» FX_CreateMemoryStream(FX_BOOL bConsecutive = FALSE, IFX_
Allocator* pAllocator = NULL); | 179 IFX_MemoryStream*» FX_CreateMemoryStream(FX_BOOL bConsecutive = FALSE); |
180 class IFX_BufferRead : public IFX_StreamRead | 180 class IFX_BufferRead : public IFX_StreamRead |
181 { | 181 { |
182 public: | 182 public: |
183 | 183 |
184 virtual void Release() = 0; | 184 virtual void Release() = 0; |
185 | 185 |
186 virtual FX_BOOL IsEOF() = 0; | 186 virtual FX_BOOL IsEOF() = 0; |
187 | 187 |
188 virtual FX_FILESIZE GetPosition() = 0; | 188 virtual FX_FILESIZE GetPosition() = 0; |
189 | 189 |
190 virtual size_t ReadBlock(void* buffer, size_t size) = 0
; | 190 virtual size_t ReadBlock(void* buffer, size_t size) = 0
; |
191 | 191 |
192 virtual FX_BOOL ReadNextBlock(FX_BOOL bRestart = FALSE)
= 0; | 192 virtual FX_BOOL ReadNextBlock(FX_BOOL bRestart = FALSE)
= 0; |
193 | 193 |
194 virtual FX_LPCBYTE GetBlockBuffer() = 0; | 194 virtual FX_LPCBYTE GetBlockBuffer() = 0; |
195 | 195 |
196 virtual size_t GetBlockSize() = 0; | 196 virtual size_t GetBlockSize() = 0; |
197 | 197 |
198 virtual FX_FILESIZE GetBlockOffset() = 0; | 198 virtual FX_FILESIZE GetBlockOffset() = 0; |
199 }; | 199 }; |
200 #endif | 200 #endif |
OLD | NEW |