mirror of
https://github.com/qpdf/qpdf.git
synced 2025-01-03 15:17:29 +00:00
dba61da1bf
When a QPDF is destroyed, changing indirect objects to direct nulls makes them effectively disappear silently when they sneak into other places. Instead, we should treat this as an error. Adding a destroyed object type makes this possible.
39 lines
850 B
C++
39 lines
850 B
C++
#include <qpdf/QPDF_Unresolved.hh>
|
|
|
|
#include <stdexcept>
|
|
|
|
QPDF_Unresolved::QPDF_Unresolved(QPDF* qpdf, QPDFObjGen const& og) :
|
|
QPDFValue(::ot_unresolved, "unresolved", qpdf, og)
|
|
{
|
|
}
|
|
|
|
std::shared_ptr<QPDFValueProxy>
|
|
QPDF_Unresolved::create(QPDF* qpdf, QPDFObjGen const& og)
|
|
{
|
|
return do_create(new QPDF_Unresolved(qpdf, og));
|
|
}
|
|
|
|
std::shared_ptr<QPDFValueProxy>
|
|
QPDF_Unresolved::shallowCopy()
|
|
{
|
|
throw std::logic_error(
|
|
"attempted to shallow copy an unresolved QPDFObjectHandle");
|
|
return nullptr;
|
|
}
|
|
|
|
std::string
|
|
QPDF_Unresolved::unparse()
|
|
{
|
|
throw std::logic_error(
|
|
"attempted to unparse an unresolved QPDFObjectHandle");
|
|
return "";
|
|
}
|
|
|
|
JSON
|
|
QPDF_Unresolved::getJSON(int json_version)
|
|
{
|
|
throw std::logic_error(
|
|
"attempted to get JSON from an unresolved QPDFObjectHandle");
|
|
return JSON::makeNull();
|
|
}
|