From 3ba6010b63a97271f23ed921a58dc9298d2e74ef Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Mon, 8 May 2017 17:07:19 -0400 Subject: Remove CPDF_Creator friends This CL removes the friend declarations from CPDF_Creator and adds accessor methods instead. Change-Id: I6d8f67b5944aed34af00ff6ea9d23fe7d17cec18 Reviewed-on: https://pdfium-review.googlesource.com/5112 Commit-Queue: dsinclair Reviewed-by: Tom Sepez --- core/fpdfapi/edit/cpdf_creator.h | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'core/fpdfapi/edit/cpdf_creator.h') diff --git a/core/fpdfapi/edit/cpdf_creator.h b/core/fpdfapi/edit/cpdf_creator.h index 5695de1e20..9a15021c25 100644 --- a/core/fpdfapi/edit/cpdf_creator.h +++ b/core/fpdfapi/edit/cpdf_creator.h @@ -37,10 +37,29 @@ class CPDF_Creator { int32_t Continue(); bool SetFileVersion(int32_t fileVersion = 17); - private: - friend class CPDF_ObjectStream; - friend class CPDF_XRefStream; + CFX_FileBufferArchive* GetFile() { return &m_File; } + + FX_FILESIZE GetOffset() const { return m_Offset; } + void IncrementOffset(FX_FILESIZE inc); + uint32_t GetNextObjectNumber() { return ++m_dwLastObjNum; } + uint32_t GetLastObjectNumber() const { return m_dwLastObjNum; } + int32_t GetObjectStreamSize() const { return m_ObjectStreamSize; } + CPDF_CryptoHandler* GetCryptoHandler() { return m_pCryptoHandler.Get(); } + CPDF_Document* GetDocument() const { return m_pDocument; } + CPDF_Array* GetIDArray() const { return m_pIDArray.get(); } + CPDF_Dictionary* GetEncryptDict() const { return m_pEncryptDict; } + uint32_t GetEncryptObjectNumber() const { return m_dwEncryptObjNum; } + + uint32_t GetObjectOffset(uint32_t objnum) { return m_ObjectOffsets[objnum]; } + bool HasObjectNumber(uint32_t objnum) { + return m_ObjectOffsets.find(objnum) != m_ObjectOffsets.end(); + } + void SetObjectOffset(uint32_t objnum, FX_FILESIZE offset) { + m_ObjectOffsets[objnum] = offset; + } + bool IsIncremental() const { return !!(m_dwFlags & FPDFCREATE_INCREMENTAL); } + private: bool Create(uint32_t flags); void Clear(); @@ -72,6 +91,8 @@ class CPDF_Creator { uint32_t objnum, CPDF_CryptoHandler* pCrypto); + bool IsXRefNeedEnd(); + CPDF_Document* const m_pDocument; CPDF_Parser* const m_pParser; bool m_bSecurityChanged; -- cgit v1.2.3