Clean up CPDF_AnnotList.
[pdfium.git] / fpdfsdk / src / fpdf_dataavail.cpp
index 8f9638d..04e246b 100644 (file)
@@ -5,16 +5,18 @@
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
 #include "../../public/fpdf_dataavail.h"
+#include "../../public/fpdf_formfill.h"
 #include "../include/fsdk_define.h"
 
-extern void ProcessParseError(FX_DWORD err_code);
 class CFPDF_FileAvailWrap : public IFX_FileAvail {
  public:
   CFPDF_FileAvailWrap() { m_pfileAvail = NULL; }
+  ~CFPDF_FileAvailWrap() override {}
 
   void Set(FX_FILEAVAIL* pfileAvail) { m_pfileAvail = pfileAvail; }
 
-  virtual FX_BOOL IsDataAvail(FX_FILESIZE offset, FX_DWORD size) {
+  // IFX_FileAvail
+  FX_BOOL IsDataAvail(FX_FILESIZE offset, FX_DWORD size) override {
     return m_pfileAvail->IsDataAvail(m_pfileAvail, offset, size);
   }
 
@@ -25,17 +27,19 @@ class CFPDF_FileAvailWrap : public IFX_FileAvail {
 class CFPDF_FileAccessWrap : public IFX_FileRead {
  public:
   CFPDF_FileAccessWrap() { m_pFileAccess = NULL; }
+  ~CFPDF_FileAccessWrap() override {}
 
   void Set(FPDF_FILEACCESS* pFile) { m_pFileAccess = pFile; }
 
-  virtual FX_FILESIZE GetSize() { return m_pFileAccess->m_FileLen; }
+  // IFX_FileRead
+  FX_FILESIZE GetSize() override { return m_pFileAccess->m_FileLen; }
 
-  virtual FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) {
+  FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override {
     return m_pFileAccess->m_GetBlock(m_pFileAccess->m_Param, offset,
                                      (uint8_t*)buffer, size);
   }
 
-  virtual void Release() {}
+  void Release() override {}
 
  private:
   FPDF_FILEACCESS* m_pFileAccess;
@@ -43,12 +47,14 @@ class CFPDF_FileAccessWrap : public IFX_FileRead {
 
 class CFPDF_DownloadHintsWrap : public IFX_DownloadHints {
  public:
-  CFPDF_DownloadHintsWrap(FX_DOWNLOADHINTS* pDownloadHints) {
+  explicit CFPDF_DownloadHintsWrap(FX_DOWNLOADHINTS* pDownloadHints) {
     m_pDownloadHints = pDownloadHints;
   }
+  ~CFPDF_DownloadHintsWrap() override {}
 
  public:
-  virtual void AddSegment(FX_FILESIZE offset, FX_DWORD size) {
+  // IFX_DownloadHints
+  void AddSegment(FX_FILESIZE offset, FX_DWORD size) override {
     m_pDownloadHints->AddSegment(m_pDownloadHints, offset, size);
   }
 
@@ -89,8 +95,6 @@ DLLEXPORT int STDCALL FPDFAvail_IsDocAvail(FPDF_AVAIL avail,
   return ((CFPDF_DataAvail*)avail)->m_pDataAvail->IsDocAvail(&hints_wrap);
 }
 
-extern void CheckUnSupportError(CPDF_Document* pDoc, FX_DWORD err_code);
-
 DLLEXPORT FPDF_DOCUMENT STDCALL
 FPDFAvail_GetDocument(FPDF_AVAIL avail, FPDF_BYTESTRING password) {
   if (avail == NULL)
@@ -107,13 +111,13 @@ FPDFAvail_GetDocument(FPDF_AVAIL avail, FPDF_BYTESTRING password) {
   }
   ((CFPDF_DataAvail*)avail)->m_pDataAvail->SetDocument(pParser->GetDocument());
   CheckUnSupportError(pParser->GetDocument(), FPDF_ERR_SUCCESS);
-  return pParser->GetDocument();
+  return FPDFDocumentFromCPDFDocument(pParser->GetDocument());
 }
 
 DLLEXPORT int STDCALL FPDFAvail_GetFirstPageNum(FPDF_DOCUMENT doc) {
-  if (doc == NULL)
+  CPDF_Document* pDoc = CPDFDocumentFromFPDFDocument(doc);
+  if (!doc)
     return 0;
-  CPDF_Document* pDoc = (CPDF_Document*)doc;
   return ((CPDF_Parser*)pDoc->GetParser())->GetFirstPageNo();
 }