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