diff options
author | Artem Strygin <art-snake@yandex-team.ru> | 2018-06-27 17:52:40 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-06-27 17:52:40 +0000 |
commit | 9e12f14814722c0c0d46d4968f636b5e1a72a1e7 (patch) | |
tree | 540394b17d4f94227bec1064ebedbd475f88a26c /core/fpdfapi/parser/cpdf_parser.h | |
parent | 2d7cb9267899902ce455165303e2373ac38c867d (diff) | |
download | pdfium-9e12f14814722c0c0d46d4968f636b5e1a72a1e7.tar.xz |
Implement CPDF_CrossRefTable
Change-Id: I5ac61ab323adb5eec2de8660064fff95ee877b5e
Reviewed-on: https://pdfium-review.googlesource.com/35432
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Art Snake <art-snake@yandex-team.ru>
Diffstat (limited to 'core/fpdfapi/parser/cpdf_parser.h')
-rw-r--r-- | core/fpdfapi/parser/cpdf_parser.h | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/core/fpdfapi/parser/cpdf_parser.h b/core/fpdfapi/parser/cpdf_parser.h index 3151da61c9..f859db5d16 100644 --- a/core/fpdfapi/parser/cpdf_parser.h +++ b/core/fpdfapi/parser/cpdf_parser.h @@ -13,6 +13,7 @@ #include <set> #include <vector> +#include "core/fpdfapi/parser/cpdf_cross_ref_table.h" #include "core/fpdfapi/parser/cpdf_syntax_parser.h" #include "core/fxcrt/fx_string.h" #include "core/fxcrt/fx_system.h" @@ -113,25 +114,8 @@ class CPDF_Parser { void SetLinearizedHeader(std::unique_ptr<CPDF_LinearizedHeader> pLinearized); protected: - enum class ObjectType : uint8_t { - kFree = 0x00, - kNotCompressed = 0x01, - kCompressed = 0x02, - kNull = 0xFF, - }; - - struct ObjectInfo { - ObjectInfo() : pos(0), type(ObjectType::kFree), gennum(0) {} - // if type is ObjectType::kCompressed the archive_obj_num should be used. - // if type is ObjectType::kNotCompressed the pos should be used. - // In other cases its are unused. - union { - FX_FILESIZE pos; - FX_FILESIZE archive_obj_num; - }; - ObjectType type; - uint16_t gennum; - }; + using ObjectType = CPDF_CrossRefTable::ObjectType; + using ObjectInfo = CPDF_CrossRefTable::ObjectInfo; std::unique_ptr<CPDF_SyntaxParser> m_pSyntax; std::map<uint32_t, ObjectInfo> m_ObjectInfo; |