1 // Copyright 2014 PDFium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #ifndef CORE_SRC_FXCRT_FXCRT_PLATFORMS_H_ 8 #define CORE_SRC_FXCRT_FXCRT_PLATFORMS_H_ 9 10 #include "extension.h" 11 12 #if _FX_OS_ == _FX_ANDROID_ 13 void FXCRT_GetFileModeString(FX_DWORD dwModes, CFX_ByteString &bsMode); 14 void FXCRT_GetFileModeString(FX_DWORD dwModes, CFX_WideString &wsMode); 15 class CFXCRT_FileAccess_CRT : public IFXCRT_FileAccess 16 { 17 public: 18 CFXCRT_FileAccess_CRT(); 19 virtual ~CFXCRT_FileAccess_CRT(); 20 virtual FX_BOOL Open(FX_BSTR fileName, FX_DWORD dwMode); 21 virtual FX_BOOL Open(FX_WSTR fileName, FX_DWORD dwMode); 22 virtual void Close(); 23 virtual void Release(); 24 virtual FX_FILESIZE GetSize() const; 25 virtual FX_FILESIZE GetPosition() const; 26 virtual FX_FILESIZE SetPosition(FX_FILESIZE pos); 27 virtual size_t Read(void* pBuffer, size_t szBuffer); 28 virtual size_t Write(const void* pBuffer, size_t szBuffer); 29 virtual size_t ReadPos(void* pBuffer, size_t szBuffer, FX_FILESIZE pos); 30 virtual size_t WritePos(const void* pBuffer, size_t szBuffer, FX_FILESIZE pos); 31 virtual FX_BOOL Flush(); 32 virtual FX_BOOL Truncate(FX_FILESIZE szFile); 33 protected: 34 FXSYS_FILE* m_hFile; 35 }; 36 #endif 37 38 #endif // CORE_SRC_FXCRT_FXCRT_PLATFORMS_H_ 39