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