| 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_FPDF_PARSER_INCLUDE_CPDF_PARSER_H_ | 7 #ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_PARSER_H_ |
| 8 #define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_PARSER_H_ | 8 #define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_PARSER_H_ |
| 9 | 9 |
| 10 #include <map> | 10 #include <map> |
| 11 #include <memory> | 11 #include <memory> |
| 12 #include <set> | 12 #include <set> |
| 13 | 13 |
| 14 #include "core/fxcrt/include/fx_basic.h" | 14 #include "core/fxcrt/include/fx_basic.h" |
| 15 | 15 |
| 16 class CPDF_Array; | 16 class CPDF_Array; |
| 17 class CPDF_CryptoHandler; |
| 17 class CPDF_Dictionary; | 18 class CPDF_Dictionary; |
| 18 class CPDF_Document; | 19 class CPDF_Document; |
| 19 class CPDF_IndirectObjectHolder; | 20 class CPDF_IndirectObjectHolder; |
| 20 class CPDF_Object; | 21 class CPDF_Object; |
| 22 class CPDF_SecurityHandler; |
| 21 class CPDF_StreamAcc; | 23 class CPDF_StreamAcc; |
| 22 class CPDF_SyntaxParser; | 24 class CPDF_SyntaxParser; |
| 23 class IFX_FileRead; | 25 class IFX_FileRead; |
| 24 class IPDF_CryptoHandler; | |
| 25 class IPDF_SecurityHandler; | |
| 26 | 26 |
| 27 class CPDF_Parser { | 27 class CPDF_Parser { |
| 28 public: | 28 public: |
| 29 enum Error { | 29 enum Error { |
| 30 SUCCESS = 0, | 30 SUCCESS = 0, |
| 31 FILE_ERROR, | 31 FILE_ERROR, |
| 32 FORMAT_ERROR, | 32 FORMAT_ERROR, |
| 33 PASSWORD_ERROR, | 33 PASSWORD_ERROR, |
| 34 HANDLER_ERROR | 34 HANDLER_ERROR |
| 35 }; | 35 }; |
| (...skipping 20 matching lines...) Expand all Loading... |
| 56 uint32_t objnum); | 56 uint32_t objnum); |
| 57 | 57 |
| 58 uint32_t GetLastObjNum() const; | 58 uint32_t GetLastObjNum() const; |
| 59 bool IsValidObjectNumber(uint32_t objnum) const; | 59 bool IsValidObjectNumber(uint32_t objnum) const; |
| 60 FX_FILESIZE GetObjectPositionOrZero(uint32_t objnum) const; | 60 FX_FILESIZE GetObjectPositionOrZero(uint32_t objnum) const; |
| 61 uint8_t GetObjectType(uint32_t objnum) const; | 61 uint8_t GetObjectType(uint32_t objnum) const; |
| 62 uint16_t GetObjectGenNum(uint32_t objnum) const; | 62 uint16_t GetObjectGenNum(uint32_t objnum) const; |
| 63 bool IsVersionUpdated() const { return m_bVersionUpdated; } | 63 bool IsVersionUpdated() const { return m_bVersionUpdated; } |
| 64 bool IsObjectFreeOrNull(uint32_t objnum) const; | 64 bool IsObjectFreeOrNull(uint32_t objnum) const; |
| 65 FX_BOOL IsFormStream(uint32_t objnum, FX_BOOL& bForm); | 65 FX_BOOL IsFormStream(uint32_t objnum, FX_BOOL& bForm); |
| 66 IPDF_CryptoHandler* GetCryptoHandler(); | 66 CPDF_CryptoHandler* GetCryptoHandler(); |
| 67 IFX_FileRead* GetFileAccess() const; | 67 IFX_FileRead* GetFileAccess() const; |
| 68 | 68 |
| 69 FX_FILESIZE GetObjectOffset(uint32_t objnum) const; | 69 FX_FILESIZE GetObjectOffset(uint32_t objnum) const; |
| 70 FX_FILESIZE GetObjectSize(uint32_t objnum) const; | 70 FX_FILESIZE GetObjectSize(uint32_t objnum) const; |
| 71 | 71 |
| 72 void GetIndirectBinary(uint32_t objnum, uint8_t*& pBuffer, uint32_t& size); | 72 void GetIndirectBinary(uint32_t objnum, uint8_t*& pBuffer, uint32_t& size); |
| 73 int GetFileVersion() const { return m_FileVersion; } | 73 int GetFileVersion() const { return m_FileVersion; } |
| 74 FX_BOOL IsXRefStream() const { return m_bXRefStream; } | 74 FX_BOOL IsXRefStream() const { return m_bXRefStream; } |
| 75 | 75 |
| 76 CPDF_Object* ParseIndirectObjectAt(CPDF_IndirectObjectHolder* pObjList, | 76 CPDF_Object* ParseIndirectObjectAt(CPDF_IndirectObjectHolder* pObjList, |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 116 void ShrinkObjectMap(uint32_t size); | 116 void ShrinkObjectMap(uint32_t size); |
| 117 | 117 |
| 118 CPDF_Document* m_pDocument; | 118 CPDF_Document* m_pDocument; |
| 119 std::unique_ptr<CPDF_SyntaxParser> m_pSyntax; | 119 std::unique_ptr<CPDF_SyntaxParser> m_pSyntax; |
| 120 bool m_bOwnFileRead; | 120 bool m_bOwnFileRead; |
| 121 int m_FileVersion; | 121 int m_FileVersion; |
| 122 CPDF_Dictionary* m_pTrailer; | 122 CPDF_Dictionary* m_pTrailer; |
| 123 CPDF_Dictionary* m_pEncryptDict; | 123 CPDF_Dictionary* m_pEncryptDict; |
| 124 FX_FILESIZE m_LastXRefOffset; | 124 FX_FILESIZE m_LastXRefOffset; |
| 125 FX_BOOL m_bXRefStream; | 125 FX_BOOL m_bXRefStream; |
| 126 std::unique_ptr<IPDF_SecurityHandler> m_pSecurityHandler; | 126 std::unique_ptr<CPDF_SecurityHandler> m_pSecurityHandler; |
| 127 CFX_ByteString m_bsRecipient; | 127 CFX_ByteString m_bsRecipient; |
| 128 CFX_ByteString m_FilePath; | 128 CFX_ByteString m_FilePath; |
| 129 CFX_ByteString m_Password; | 129 CFX_ByteString m_Password; |
| 130 std::map<uint32_t, ObjectInfo> m_ObjectInfo; | 130 std::map<uint32_t, ObjectInfo> m_ObjectInfo; |
| 131 std::set<FX_FILESIZE> m_SortedOffset; | 131 std::set<FX_FILESIZE> m_SortedOffset; |
| 132 CFX_ArrayTemplate<CPDF_Dictionary*> m_Trailers; | 132 CFX_ArrayTemplate<CPDF_Dictionary*> m_Trailers; |
| 133 bool m_bVersionUpdated; | 133 bool m_bVersionUpdated; |
| 134 CPDF_Object* m_pLinearized; | 134 CPDF_Object* m_pLinearized; |
| 135 uint32_t m_dwFirstPageNo; | 135 uint32_t m_dwFirstPageNo; |
| 136 uint32_t m_dwXrefStartObjNum; | 136 uint32_t m_dwXrefStartObjNum; |
| (...skipping 27 matching lines...) Expand all Loading... |
| 164 kPostObjNum, | 164 kPostObjNum, |
| 165 kGenNum, | 165 kGenNum, |
| 166 kPostGenNum, | 166 kPostGenNum, |
| 167 kTrailer, | 167 kTrailer, |
| 168 kBeginObj, | 168 kBeginObj, |
| 169 kEndObj | 169 kEndObj |
| 170 }; | 170 }; |
| 171 }; | 171 }; |
| 172 | 172 |
| 173 #endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_PARSER_H_ | 173 #endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_PARSER_H_ |
| OLD | NEW |