Add FX_OVERRIDE and use it for virtual functions of FX_FINAL classes.
[pdfium.git] / core / src / fxcrt / fxcrt_posix.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_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();
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