7#ifndef CORE_FPDFAPI_PARSER_CPDF_HINT_TABLES_H_
8#define CORE_FPDFAPI_PARSER_CPDF_HINT_TABLES_H_
13#include "core/fpdfapi/parser/cpdf_data_avail.h"
14#include "core/fxcrt/unowned_ptr.h"
37 m_dwObjectsCount = objects_count;
48 m_dwStartObjNum = start_obj_num;
53 m_dwIdentifierArray.push_back(Identifier);
57 return m_dwIdentifierArray;
61 uint32_t m_dwObjectsCount = 0;
63 uint32_t m_dwLength = 0;
64 uint32_t m_dwStartObjNum = 0;
65 std::vector<uint32_t> m_dwIdentifierArray;
67 PageInfo(
const PageInfo& other) =
delete;
82 uint32_t* dwObjNum)
const;
90 return m_SharedObjGroupInfos;
100 FX_FILESIZE HintsOffsetToFileOffset(uint32_t hints_offset)
const;
102 uint32_t m_nFirstPageSharedObjs = 0;
104 std::vector<PageInfo> m_PageInfos;
105 std::vector<SharedObjGroupInfo> m_SharedObjGroupInfos;
CPDF_DataAvail(FileAvail *pFileAvail, RetainPtr< IFX_SeekableReadStream > pFileRead)
~CPDF_DataAvail() override
DocAvailStatus IsPageAvail(uint32_t dwPage, DownloadHints *pHints)
std::pair< CPDF_Parser::Error, std::unique_ptr< CPDF_Document > > ParseDocument(std::unique_ptr< CPDF_Document::RenderDataIface > pRenderData, std::unique_ptr< CPDF_Document::PageDataIface > pPageData, const ByteString &password)
RetainPtr< const CPDF_Dictionary > GetPageDictionary(int index) const
RetainPtr< CPDF_ReadValidator > GetValidator() const
DocAvailStatus IsDocAvail(DownloadHints *pHints)
void OnObservableDestroyed() override
DocLinearizationStatus IsLinearizedPDF()
DocFormStatus IsFormAvail(DownloadHints *pHints)
FX_FILESIZE page_offset() const
void set_page_offset(FX_FILESIZE offset)
void AddIdentifier(uint32_t Identifier)
uint32_t page_length() const
const std::vector< uint32_t > & Identifiers() const
void set_start_obj_num(uint32_t start_obj_num)
uint32_t start_obj_num() const
void set_page_length(uint32_t length)
void set_objects_count(uint32_t objects_count)
uint32_t objects_count() const
CPDF_DataAvail::DocAvailStatus CheckPage(uint32_t index)
virtual ~CPDF_HintTables()
FX_FILESIZE GetFirstPageObjOffset() const
bool GetPagePos(uint32_t index, FX_FILESIZE *szPageStartPos, FX_FILESIZE *szPageLength, uint32_t *dwObjNum) const
static std::unique_ptr< CPDF_HintTables > Parse(CPDF_SyntaxParser *parser, const CPDF_LinearizedHeader *pLinearized)
bool LoadHintStream(CPDF_Stream *pHintStream)
bool ReadSharedObjHintTable(CFX_BitStream *hStream, uint32_t offset)
CPDF_HintTables(CPDF_ReadValidator *pValidator, const CPDF_LinearizedHeader *pLinearized)
const std::vector< SharedObjGroupInfo > & SharedGroupInfos() const
bool ReadPageHintTable(CFX_BitStream *hStream)
const std::vector< PageInfo > & PageInfos() const
CPDF_DataAvail::DocAvailStatus CheckAvail()
static constexpr uint32_t kInvalidObjNum
uint32_t GetRefObjNum() const
FX_FILESIZE GetPos() const
void SetPos(FX_FILESIZE pos)
bool operator==(const char *ptr) const
bool operator!=(const char *ptr) const
uint32_t m_dwObjectsCount