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