diff options
Diffstat (limited to 'libqpdf')
-rw-r--r-- | libqpdf/qpdf-c.cc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/libqpdf/qpdf-c.cc b/libqpdf/qpdf-c.cc index b7e67e85..1183ffd2 100644 --- a/libqpdf/qpdf-c.cc +++ b/libqpdf/qpdf-c.cc @@ -972,6 +972,12 @@ qpdf_oh qpdf_get_root(qpdf_data qpdf) }); } +qpdf_oh qpdf_get_object_by_id(qpdf_data qpdf, int objid, int generation) +{ + QTC::TC("qpdf", "qpdf-c called qpdf_get_object_by_id"); + return new_object(qpdf, qpdf->qpdf->getObjectByID(objid, generation)); +} + template<class RET> static RET do_with_oh( qpdf_data qpdf, qpdf_oh oh, @@ -1008,6 +1014,15 @@ static void do_with_oh_void( }); } +void qpdf_replace_object(qpdf_data qpdf, int objid, int generation, qpdf_oh oh) +{ + do_with_oh_void( + qpdf, oh, [&qpdf, &objid, &generation](QPDFObjectHandle& o) { + QTC::TC("qpdf", "qpdf-c called qpdf_replace_object"); + qpdf->qpdf->replaceObject(objid, generation, o); + }); +} + QPDF_BOOL qpdf_oh_is_initialized(qpdf_data qpdf, qpdf_oh oh) { QTC::TC("qpdf", "qpdf-c called qpdf_oh_is_initialized"); @@ -1421,6 +1436,16 @@ void qpdf_oh_make_direct(qpdf_data qpdf, qpdf_oh oh) }); } +qpdf_oh qpdf_make_indirect_object(qpdf_data qpdf, qpdf_oh oh) +{ + return do_with_oh<qpdf_oh>( + qpdf, oh, + return_uninitialized(qpdf), + [&qpdf](QPDFObjectHandle& o) { + return new_object(qpdf, qpdf->qpdf->makeIndirectObject(o)); + }); +} + static QPDFObjectHandle qpdf_oh_item_internal(qpdf_data qpdf, qpdf_oh item) { |