2021-03-01 21:13:03 +00:00
|
|
|
#ifndef RESOURCEFINDER_HH
|
|
|
|
#define RESOURCEFINDER_HH
|
|
|
|
|
|
|
|
#include <qpdf/QPDFObjectHandle.hh>
|
|
|
|
|
2021-03-01 21:43:35 +00:00
|
|
|
class ResourceFinder: public QPDFObjectHandle::ParserCallbacks
|
2021-03-01 21:13:03 +00:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
ResourceFinder();
|
2023-06-01 14:21:32 +00:00
|
|
|
~ResourceFinder() override = default;
|
2023-05-20 12:56:33 +00:00
|
|
|
void handleObject(QPDFObjectHandle, size_t, size_t) override;
|
|
|
|
void handleEOF() override;
|
2021-03-01 21:13:03 +00:00
|
|
|
std::set<std::string> const& getNames() const;
|
2021-03-01 21:43:35 +00:00
|
|
|
std::map<std::string, std::map<std::string, std::set<size_t>>> const&
|
|
|
|
getNamesByResourceType() const;
|
2021-03-01 21:13:03 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
std::string last_name;
|
2021-03-01 21:43:35 +00:00
|
|
|
size_t last_name_offset;
|
2021-03-01 21:13:03 +00:00
|
|
|
std::set<std::string> names;
|
2021-03-01 21:43:35 +00:00
|
|
|
std::map<std::string, std::map<std::string, std::set<size_t>>> names_by_resource_type;
|
2021-03-01 21:13:03 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // RESOURCEFINDER_HH
|