aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/qpdf-c.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libqpdf/qpdf-c.cc')
-rw-r--r--libqpdf/qpdf-c.cc25
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)
{