#pragma once

#include "PdfObject.h"

class PdfPageTree;
class PdfOutlineCollection;

class PdfDocumentCatalog : public PdfObject
{
public:
    PdfDocumentCatalog();

    unsigned indexObjects(unsigned count) override;

    std::string toString(PdfXRefTable* xRefTable) override;

private:
    void updateDictionary() override;

    std::unique_ptr<PdfOutlineCollection> mOutlines;
    std::unique_ptr<PdfPageTree> mPages;
};
