Index: core/include/fxcrt/fx_stream.h |
diff --git a/core/include/fxcrt/fx_stream.h b/core/include/fxcrt/fx_stream.h |
index 4e2f0f97cee41838546f0b5c226db7d611506a9a..d15d286031f3f1b014f5c9b1ff6a9f8165e7ca1e 100644 |
--- a/core/include/fxcrt/fx_stream.h |
+++ b/core/include/fxcrt/fx_stream.h |
@@ -20,20 +20,25 @@ FX_BOOL FX_GetNextFile(void* handle, |
FX_BOOL& bFolder); |
void FX_CloseFolder(void* handle); |
FX_WCHAR FX_GetFolderSeparator(); |
+ |
#if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ |
#define FX_FILESIZE int32_t |
#else |
#include <fcntl.h> |
#include <sys/stat.h> |
#include <unistd.h> |
+ |
#ifndef O_BINARY |
#define O_BINARY 0 |
-#endif |
+#endif // O_BINARY |
+ |
#ifndef O_LARGEFILE |
#define O_LARGEFILE 0 |
-#endif |
+#endif // O_LARGEFILE |
+ |
#define FX_FILESIZE off_t |
-#endif |
+#endif // _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ |
+ |
#define FX_GETBYTEOFFSET32(a) 0 |
#define FX_GETBYTEOFFSET40(a) 0 |
#define FX_GETBYTEOFFSET48(a) 0 |
@@ -56,10 +61,7 @@ class IFX_StreamWrite { |
class IFX_FileWrite : public IFX_StreamWrite { |
public: |
// IFX_StreamWrite: |
- FX_BOOL WriteBlock(const void* pData, size_t size) override { |
- return WriteBlock(pData, GetSize(), size); |
- } |
- |
+ FX_BOOL WriteBlock(const void* pData, size_t size) override; |
virtual FX_FILESIZE GetSize() = 0; |
virtual FX_BOOL Flush() = 0; |
virtual FX_BOOL WriteBlock(const void* pData, |
@@ -81,9 +83,9 @@ class IFX_FileRead : IFX_StreamRead { |
public: |
// 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; } |
+ FX_BOOL IsEOF() override; |
+ FX_FILESIZE GetPosition() override; |
+ size_t ReadBlock(void* buffer, size_t size) override; |
virtual FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) = 0; |
virtual FX_FILESIZE GetSize() = 0; |
@@ -108,9 +110,7 @@ class IFX_FileStream : public IFX_FileRead, public 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); |
- } |
+ FX_BOOL WriteBlock(const void* buffer, size_t size) override; |
FX_BOOL Flush() override = 0; |
}; |
@@ -132,21 +132,19 @@ IFX_FileAccess* FX_CreateDefaultFileAccess(const CFX_WideStringC& wsPath); |
class IFX_MemoryStream : public IFX_FileStream { |
public: |
virtual FX_BOOL IsConsecutive() const = 0; |
- |
virtual void EstimateSize(size_t nInitSize, size_t nGrowSize) = 0; |
- |
virtual uint8_t* GetBuffer() const = 0; |
- |
virtual void AttachBuffer(uint8_t* pBuffer, |
size_t nSize, |
FX_BOOL bTakeOver = FALSE) = 0; |
- |
virtual void DetachBuffer() = 0; |
}; |
+ |
IFX_MemoryStream* FX_CreateMemoryStream(uint8_t* pBuffer, |
size_t nSize, |
FX_BOOL bTakeOver = FALSE); |
IFX_MemoryStream* FX_CreateMemoryStream(FX_BOOL bConsecutive = FALSE); |
+ |
class IFX_BufferRead : public IFX_StreamRead { |
public: |
// IFX_StreamRead: |