aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/qpdf/QPDFObjectHandle.hh18
1 files changed, 15 insertions, 3 deletions
diff --git a/include/qpdf/QPDFObjectHandle.hh b/include/qpdf/QPDFObjectHandle.hh
index 7738fd77..c6534b17 100644
--- a/include/qpdf/QPDFObjectHandle.hh
+++ b/include/qpdf/QPDFObjectHandle.hh
@@ -721,8 +721,20 @@ class QPDFObjectHandle
// Mutator methods. Use with caution.
- // Recursively copy this object, making it direct. Throws an
- // exception if a loop is detected or any sub-object is a stream.
+ // Recursively copy this object, making it direct. An exception is
+ // thrown if a loop is detected. With allow_streams true, keep
+ // indirect object references to streams. Otherwise, throw an
+ // exception if any sub-object is a stream. Note that, when
+ // allow_streams is true and a stream is found, the resulting
+ // object is still associated with the containing qpdf. When
+ // allow_streams is false, the object will no longer be connected
+ // to the original QPDF object after this call completes
+ // successfully.
+ QPDF_DLL
+ void makeDirect(bool allow_streams);
+ // Zero-arg version is equivalent to makeDirect(false).
+ // ABI: delete zero-arg version of makeDirect, and make
+ // allow_streams default to false.
QPDF_DLL
void makeDirect();
@@ -1121,7 +1133,7 @@ class QPDFObjectHandle
void assertType(char const* type_name, bool istype);
void dereference();
void copyObject(std::set<QPDFObjGen>& visited, bool cross_indirect,
- bool first_level_only);
+ bool first_level_only, bool stop_at_streams);
void shallowCopyInternal(QPDFObjectHandle& oh, bool first_level_only);
void releaseResolved();
static void setObjectDescriptionFromInput(