From 645e78a1152b035fb83ac5bbe93715b54f11a1b6 Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Wed, 4 Oct 2017 16:51:16 -0400 Subject: Remove CPDF_Object friends This CL removes the friends from CPDF_Object and adds accessors as needed. The m_GenNum was moved to a private member as none of the overriding classes needed access. Change-Id: If23a1a6752dea31eb80669a36694973f3c581123 Reviewed-on: https://pdfium-review.googlesource.com/15470 Reviewed-by: Ryan Harrison Commit-Queue: dsinclair --- core/fpdfapi/parser/cpdf_object.h | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'core/fpdfapi/parser/cpdf_object.h') diff --git a/core/fpdfapi/parser/cpdf_object.h b/core/fpdfapi/parser/cpdf_object.h index 4d4279f98a..7a14492d70 100644 --- a/core/fpdfapi/parser/cpdf_object.h +++ b/core/fpdfapi/parser/cpdf_object.h @@ -44,7 +44,9 @@ class CPDF_Object { virtual Type GetType() const = 0; uint32_t GetObjNum() const { return m_ObjNum; } + void SetObjNum(uint32_t objnum) { m_ObjNum = objnum; } uint32_t GetGenNum() const { return m_GenNum; } + void SetGenNum(uint32_t gennum) { m_GenNum = gennum; } bool IsInline() const { return m_ObjNum == 0; } // Create a deep copy of the object. @@ -92,18 +94,6 @@ class CPDF_Object { virtual bool WriteTo(IFX_ArchiveStream* archive) const = 0; - protected: - friend class CPDF_Array; - friend class CPDF_Dictionary; - friend class CPDF_IndirectObjectHolder; - friend class CPDF_SyntaxParser; - friend class CPDF_Reference; - friend class CPDF_Stream; - - CPDF_Object() : m_ObjNum(0), m_GenNum(0) {} - - std::unique_ptr CloneObjectNonCyclic(bool bDirect) const; - // Create a deep copy of the object with the option to either // copy a reference object or directly copy the object it refers to // when |bDirect| is true. @@ -114,11 +104,17 @@ class CPDF_Object { bool bDirect, std::set* pVisited) const; + protected: + CPDF_Object() : m_ObjNum(0), m_GenNum(0) {} + + std::unique_ptr CloneObjectNonCyclic(bool bDirect) const; + uint32_t m_ObjNum; - uint32_t m_GenNum; private: CPDF_Object(const CPDF_Object& src) {} + + uint32_t m_GenNum; }; template -- cgit v1.2.3