Initial commit.
[pdfium.git] / core / src / fxcrt / fxcrt_posix.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_LINUX_\r
8 #define _FXCRT_LINUX_\r
9 #include "extension.h"\r
10 #if _FXM_PLATFORM_ == _FXM_PLATFORM_LINUX_ || _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ || _FXM_PLATFORM_ == _FXM_PLATFORM_ANDROID_\r
11 class CFXCRT_FileAccess_Posix : public IFXCRT_FileAccess, public CFX_Object\r
12 {\r
13 public:\r
14     CFXCRT_FileAccess_Posix();\r
15     virtual ~CFXCRT_FileAccess_Posix();\r
16     virtual FX_BOOL             Open(FX_BSTR fileName, FX_DWORD dwMode);\r
17     virtual FX_BOOL             Open(FX_WSTR fileName, FX_DWORD dwMode);\r
18     virtual void                Close();\r
19     virtual void                Release(IFX_Allocator* pAllocator = NULL);\r
20     virtual FX_FILESIZE GetSize() const;\r
21     virtual FX_FILESIZE GetPosition() const;\r
22     virtual FX_FILESIZE SetPosition(FX_FILESIZE pos);\r
23     virtual size_t              Read(void* pBuffer, size_t szBuffer);\r
24     virtual size_t              Write(const void* pBuffer, size_t szBuffer);\r
25     virtual size_t              ReadPos(void* pBuffer, size_t szBuffer, FX_FILESIZE pos);\r
26     virtual size_t              WritePos(const void* pBuffer, size_t szBuffer, FX_FILESIZE pos);\r
27     virtual FX_BOOL             Flush();\r
28     virtual FX_BOOL             Truncate(FX_FILESIZE szFile);\r
29 protected:\r
30     FX_INT32    m_nFD;\r
31 };\r
32 #endif\r
33 #endif\r