OLD | NEW |
1 // Copyright 2016 PDFium Authors. All rights reserved. | 1 // Copyright 2016 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef CORE_FPDFAPI_PARSER_CPDF_DATA_AVAIL_H_ | 7 #ifndef CORE_FPDFAPI_PARSER_CPDF_DATA_AVAIL_H_ |
8 #define CORE_FPDFAPI_PARSER_CPDF_DATA_AVAIL_H_ | 8 #define CORE_FPDFAPI_PARSER_CPDF_DATA_AVAIL_H_ |
9 | 9 |
10 #include <vector> | 10 #include <vector> |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 virtual FX_BOOL IsDataAvail(FX_FILESIZE offset, uint32_t size) = 0; | 86 virtual FX_BOOL IsDataAvail(FX_FILESIZE offset, uint32_t size) = 0; |
87 }; | 87 }; |
88 | 88 |
89 class DownloadHints { | 89 class DownloadHints { |
90 public: | 90 public: |
91 virtual ~DownloadHints(); | 91 virtual ~DownloadHints(); |
92 virtual void AddSegment(FX_FILESIZE offset, uint32_t size) = 0; | 92 virtual void AddSegment(FX_FILESIZE offset, uint32_t size) = 0; |
93 }; | 93 }; |
94 | 94 |
95 CPDF_DataAvail(FileAvail* pFileAvail, | 95 CPDF_DataAvail(FileAvail* pFileAvail, |
96 IFX_FileRead* pFileRead, | 96 IFX_SeekableReadStream* pFileRead, |
97 FX_BOOL bSupportHintTable); | 97 FX_BOOL bSupportHintTable); |
98 ~CPDF_DataAvail(); | 98 ~CPDF_DataAvail(); |
99 | 99 |
100 DocAvailStatus IsDocAvail(DownloadHints* pHints); | 100 DocAvailStatus IsDocAvail(DownloadHints* pHints); |
101 void SetDocument(CPDF_Document* pDoc); | 101 void SetDocument(CPDF_Document* pDoc); |
102 DocAvailStatus IsPageAvail(uint32_t dwPage, DownloadHints* pHints); | 102 DocAvailStatus IsPageAvail(uint32_t dwPage, DownloadHints* pHints); |
103 DocFormStatus IsFormAvail(DownloadHints* pHints); | 103 DocFormStatus IsFormAvail(DownloadHints* pHints); |
104 DocLinearizationStatus IsLinearizedPDF(); | 104 DocLinearizationStatus IsLinearizedPDF(); |
105 FX_BOOL IsLinearized(); | 105 FX_BOOL IsLinearized(); |
106 void GetLinearizedMainXRefInfo(FX_FILESIZE* pPos, uint32_t* pSize); | 106 void GetLinearizedMainXRefInfo(FX_FILESIZE* pPos, uint32_t* pSize); |
107 IFX_FileRead* GetFileRead() const { return m_pFileRead; } | 107 IFX_SeekableReadStream* GetFileRead() const { return m_pFileRead; } |
108 int GetPageCount() const; | 108 int GetPageCount() const; |
109 CPDF_Dictionary* GetPage(int index); | 109 CPDF_Dictionary* GetPage(int index); |
110 | 110 |
111 friend class CPDF_HintTables; | 111 friend class CPDF_HintTables; |
112 | 112 |
113 protected: | 113 protected: |
114 class PageNode { | 114 class PageNode { |
115 public: | 115 public: |
116 PageNode(); | 116 PageNode(); |
117 ~PageNode(); | 117 ~PageNode(); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 DownloadHints* pHints); | 186 DownloadHints* pHints); |
187 FX_BOOL CheckArrayPageNode(uint32_t dwPageNo, | 187 FX_BOOL CheckArrayPageNode(uint32_t dwPageNo, |
188 PageNode* pPageNode, | 188 PageNode* pPageNode, |
189 DownloadHints* pHints); | 189 DownloadHints* pHints); |
190 FX_BOOL CheckPageCount(DownloadHints* pHints); | 190 FX_BOOL CheckPageCount(DownloadHints* pHints); |
191 bool IsFirstCheck(uint32_t dwPage); | 191 bool IsFirstCheck(uint32_t dwPage); |
192 void ResetFirstCheck(uint32_t dwPage); | 192 void ResetFirstCheck(uint32_t dwPage); |
193 FX_BOOL IsDataAvail(FX_FILESIZE offset, uint32_t size, DownloadHints* pHints); | 193 FX_BOOL IsDataAvail(FX_FILESIZE offset, uint32_t size, DownloadHints* pHints); |
194 | 194 |
195 FileAvail* const m_pFileAvail; | 195 FileAvail* const m_pFileAvail; |
196 IFX_FileRead* const m_pFileRead; | 196 IFX_SeekableReadStream* const m_pFileRead; |
197 CPDF_Parser m_parser; | 197 CPDF_Parser m_parser; |
198 CPDF_SyntaxParser m_syntaxParser; | 198 CPDF_SyntaxParser m_syntaxParser; |
199 CPDF_Object* m_pRoot; | 199 CPDF_Object* m_pRoot; |
200 uint32_t m_dwRootObjNum; | 200 uint32_t m_dwRootObjNum; |
201 uint32_t m_dwInfoObjNum; | 201 uint32_t m_dwInfoObjNum; |
202 CPDF_Object* m_pLinearized; | 202 CPDF_Object* m_pLinearized; |
203 CPDF_Object* m_pTrailer; | 203 CPDF_Object* m_pTrailer; |
204 FX_BOOL m_bDocAvail; | 204 FX_BOOL m_bDocAvail; |
205 FX_FILESIZE m_dwHeaderOffset; | 205 FX_FILESIZE m_dwHeaderOffset; |
206 FX_FILESIZE m_dwLastXRefOffset; | 206 FX_FILESIZE m_dwLastXRefOffset; |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 FX_BOOL m_bTotalLoadPageTree; | 246 FX_BOOL m_bTotalLoadPageTree; |
247 FX_BOOL m_bCurPageDictLoadOK; | 247 FX_BOOL m_bCurPageDictLoadOK; |
248 PageNode m_pageNodes; | 248 PageNode m_pageNodes; |
249 std::set<uint32_t> m_pageMapCheckState; | 249 std::set<uint32_t> m_pageMapCheckState; |
250 std::set<uint32_t> m_pagesLoadState; | 250 std::set<uint32_t> m_pagesLoadState; |
251 std::unique_ptr<CPDF_HintTables> m_pHintTables; | 251 std::unique_ptr<CPDF_HintTables> m_pHintTables; |
252 FX_BOOL m_bSupportHintTable; | 252 FX_BOOL m_bSupportHintTable; |
253 }; | 253 }; |
254 | 254 |
255 #endif // CORE_FPDFAPI_PARSER_CPDF_DATA_AVAIL_H_ | 255 #endif // CORE_FPDFAPI_PARSER_CPDF_DATA_AVAIL_H_ |
OLD | NEW |