summaryrefslogtreecommitdiff
path: root/core/fpdfapi/parser/cpdf_parser.h
diff options
context:
space:
mode:
authorArtem Strygin <art-snake@yandex-team.ru>2018-06-27 17:52:40 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-06-27 17:52:40 +0000
commit9e12f14814722c0c0d46d4968f636b5e1a72a1e7 (patch)
tree540394b17d4f94227bec1064ebedbd475f88a26c /core/fpdfapi/parser/cpdf_parser.h
parent2d7cb9267899902ce455165303e2373ac38c867d (diff)
downloadpdfium-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.h22
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;