diff options
author | dsinclair <dsinclair@chromium.org> | 2016-08-23 20:13:41 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-08-23 20:13:41 -0700 |
commit | 03bd7c78ff0411f0db033b5e6b5bf00c7fe2fb87 (patch) | |
tree | 76c4090fc95f5efa8d3fa4f47a14e7607ad881a8 /core/fpdfapi/fpdf_parser/cpdf_indirect_object_holder.cpp | |
parent | 8252bc1e5a42ab406fb5f9f968623ea0c83b8656 (diff) | |
download | pdfium-03bd7c78ff0411f0db033b5e6b5bf00c7fe2fb87.tar.xz |
IndirectObjectHolder API updates
This Cl updates the names of the methods in the indirect object holder to better
reflect their usage. The m_LastObjNum is made private and a setter added.
Review-Url: https://codereview.chromium.org/2275593002
Diffstat (limited to 'core/fpdfapi/fpdf_parser/cpdf_indirect_object_holder.cpp')
-rw-r--r-- | core/fpdfapi/fpdf_parser/cpdf_indirect_object_holder.cpp | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/core/fpdfapi/fpdf_parser/cpdf_indirect_object_holder.cpp b/core/fpdfapi/fpdf_parser/cpdf_indirect_object_holder.cpp index 33f45a53bf..bb29da5052 100644 --- a/core/fpdfapi/fpdf_parser/cpdf_indirect_object_holder.cpp +++ b/core/fpdfapi/fpdf_parser/cpdf_indirect_object_holder.cpp @@ -20,7 +20,8 @@ CPDF_IndirectObjectHolder::~CPDF_IndirectObjectHolder() { pair.second->Destroy(); } -CPDF_Object* CPDF_IndirectObjectHolder::GetIndirectObject(uint32_t objnum) { +CPDF_Object* CPDF_IndirectObjectHolder::GetOrParseIndirectObject( + uint32_t objnum) { if (objnum == 0) return nullptr; @@ -55,18 +56,9 @@ uint32_t CPDF_IndirectObjectHolder::AddIndirectObject(CPDF_Object* pObj) { return m_LastObjNum; } -void CPDF_IndirectObjectHolder::ReleaseIndirectObject(uint32_t objnum) { - auto it = m_IndirectObjs.find(objnum); - if (it == m_IndirectObjs.end() || - it->second->GetObjNum() == CPDF_Object::kInvalidObjNum) { - return; - } - it->second->Destroy(); - m_IndirectObjs.erase(it); -} - -bool CPDF_IndirectObjectHolder::InsertIndirectObject(uint32_t objnum, - CPDF_Object* pObj) { +bool CPDF_IndirectObjectHolder::ReplaceIndirectObjectIfHigherGeneration( + uint32_t objnum, + CPDF_Object* pObj) { if (!objnum || !pObj) return false; @@ -83,3 +75,13 @@ bool CPDF_IndirectObjectHolder::InsertIndirectObject(uint32_t objnum, m_LastObjNum = std::max(m_LastObjNum, objnum); return true; } + +void CPDF_IndirectObjectHolder::ReleaseIndirectObject(uint32_t objnum) { + auto it = m_IndirectObjs.find(objnum); + if (it == m_IndirectObjs.end() || + it->second->GetObjNum() == CPDF_Object::kInvalidObjNum) { + return; + } + it->second->Destroy(); + m_IndirectObjs.erase(it); +} |