92646b27571337c58acb298a516c4d40352b0e62
[pdfium.git] / core / src / fxcrt / fxcrt_windows.h
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_WINDOWS_
8 #define _FXCRT_WINDOWS_
9 #include "extension.h"
10 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_
11 class CFXCRT_FileAccess_Win64 : public IFXCRT_FileAccess
12 {
13 public:
14     CFXCRT_FileAccess_Win64();
15     virtual ~CFXCRT_FileAccess_Win64();
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();
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_LPVOID   m_hFile;
31 };
32 #endif
33 #endif