Home | History | Annotate | Download | only in fpdfdoc
      1 // Copyright 2016 PDFium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
      6 
      7 #ifndef CORE_FPDFDOC_CPDF_NAMETREE_H_
      8 #define CORE_FPDFDOC_CPDF_NAMETREE_H_
      9 
     10 #include "core/fxcrt/fx_string.h"
     11 
     12 class CPDF_Array;
     13 class CPDF_Dictionary;
     14 class CPDF_Document;
     15 class CPDF_Object;
     16 
     17 class CPDF_NameTree {
     18  public:
     19   explicit CPDF_NameTree(CPDF_Dictionary* pRoot) : m_pRoot(pRoot) {}
     20   CPDF_NameTree(CPDF_Document* pDoc, const CFX_ByteString& category);
     21 
     22   CPDF_Object* LookupValue(int nIndex, CFX_ByteString& csName) const;
     23   CPDF_Object* LookupValue(const CFX_ByteString& csName) const;
     24   CPDF_Array* LookupNamedDest(CPDF_Document* pDoc, const CFX_ByteString& sName);
     25 
     26   int GetIndex(const CFX_ByteString& csName) const;
     27   size_t GetCount() const;
     28   CPDF_Dictionary* GetRoot() const { return m_pRoot; }
     29 
     30  private:
     31   CPDF_Dictionary* m_pRoot;
     32 };
     33 
     34 #endif  // CORE_FPDFDOC_CPDF_NAMETREE_H_
     35