summaryrefslogtreecommitdiff
path: root/core/fpdfapi/parser/cpdf_reference.h
diff options
context:
space:
mode:
authordsinclair <dsinclair@chromium.org>2016-10-04 11:55:50 -0700
committerCommit bot <commit-bot@chromium.org>2016-10-04 11:55:51 -0700
commit488b7ad845d6de212d89cd957303b294ecfa5922 (patch)
treeadfdd2327724bd3597a1a7614bbe29a01a0c8dc0 /core/fpdfapi/parser/cpdf_reference.h
parent41872fa5ac7448a50f66ad56d7bde8d1aa77db4b (diff)
downloadpdfium-488b7ad845d6de212d89cd957303b294ecfa5922.tar.xz
Move core/fpdfapi/fpdf_parser to core/fpdfapi/parser
BUG=pdfium:603 Review-Url: https://codereview.chromium.org/2392603004
Diffstat (limited to 'core/fpdfapi/parser/cpdf_reference.h')
-rw-r--r--core/fpdfapi/parser/cpdf_reference.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/core/fpdfapi/parser/cpdf_reference.h b/core/fpdfapi/parser/cpdf_reference.h
new file mode 100644
index 0000000000..8c57d85e0e
--- /dev/null
+++ b/core/fpdfapi/parser/cpdf_reference.h
@@ -0,0 +1,50 @@
+// Copyright 2016 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef CORE_FPDFAPI_PARSER_CPDF_REFERENCE_H_
+#define CORE_FPDFAPI_PARSER_CPDF_REFERENCE_H_
+
+#include <set>
+
+#include "core/fpdfapi/parser/cpdf_object.h"
+
+class CPDF_IndirectObjectHolder;
+
+class CPDF_Reference : public CPDF_Object {
+ public:
+ CPDF_Reference(CPDF_IndirectObjectHolder* pDoc, int objnum);
+
+ // CPDF_Object.
+ Type GetType() const override;
+ CPDF_Object* Clone() const override;
+ CPDF_Object* GetDirect() const override;
+ CFX_ByteString GetString() const override;
+ FX_FLOAT GetNumber() const override;
+ int GetInteger() const override;
+ CPDF_Dictionary* GetDict() const override;
+ bool IsReference() const override;
+ CPDF_Reference* AsReference() override;
+ const CPDF_Reference* AsReference() const override;
+
+ CPDF_IndirectObjectHolder* GetObjList() const { return m_pObjList; }
+ uint32_t GetRefObjNum() const { return m_RefObjNum; }
+
+ void SetRef(CPDF_IndirectObjectHolder* pDoc, uint32_t objnum);
+
+ protected:
+ ~CPDF_Reference() override;
+
+ CPDF_Object* CloneNonCyclic(
+ bool bDirect,
+ std::set<const CPDF_Object*>* pVisited) const override;
+
+ CPDF_Object* SafeGetDirect() const;
+
+ CPDF_IndirectObjectHolder* m_pObjList;
+ uint32_t m_RefObjNum;
+};
+
+#endif // CORE_FPDFAPI_PARSER_CPDF_REFERENCE_H_