Commit 0885a16020c8986c79b8abfde828d179ca581c5f

Authored by m-holger
1 parent d67ad8b7

Move `StreamCopier` to `QPDF::Doc` and update references

Relocate `StreamCopier` to `QPDF::Doc` for improved encapsulation of stream copying functionality. Adjust all references to use the updated placement.
include/qpdf/QPDF.hh
@@ -790,7 +790,6 @@ class QPDF @@ -790,7 +790,6 @@ class QPDF
790 // End of the public API. The following classes and methods are for qpdf internal use only. 790 // End of the public API. The following classes and methods are for qpdf internal use only.
791 791
792 class Doc; 792 class Doc;
793 - class StreamCopier;  
794 793
795 inline bool reconstructed_xref() const; 794 inline bool reconstructed_xref() const;
796 inline Doc& doc(); 795 inline Doc& doc();
libqpdf/QPDFObjectHandle.cc
@@ -1949,7 +1949,7 @@ QPDFObjectHandle::copyStream() @@ -1949,7 +1949,7 @@ QPDFObjectHandle::copyStream()
1949 dict.replaceKey(iter.first, iter.second.shallowCopy()); 1949 dict.replaceKey(iter.first, iter.second.shallowCopy());
1950 } 1950 }
1951 } 1951 }
1952 - QPDF::StreamCopier::copyStreamData(getOwningQPDF(), result, *this); 1952 + QPDF::Doc::StreamCopier::copyStreamData(getOwningQPDF(), result, *this);
1953 return result; 1953 return result;
1954 } 1954 }
1955 1955
libqpdf/qpdf/QPDF_private.hh
@@ -13,19 +13,6 @@ @@ -13,19 +13,6 @@
13 13
14 using namespace qpdf; 14 using namespace qpdf;
15 15
16 -// StreamCopier class is restricted to QPDFObjectHandle so it can copy stream data.  
17 -class QPDF::StreamCopier  
18 -{  
19 - friend class QPDFObjectHandle;  
20 -  
21 - private:  
22 - static void  
23 - copyStreamData(QPDF* qpdf, QPDFObjectHandle const& dest, QPDFObjectHandle const& src)  
24 - {  
25 - qpdf->copyStreamData(dest, src);  
26 - }  
27 -};  
28 -  
29 class QPDF::ObjCache 16 class QPDF::ObjCache
30 { 17 {
31 public: 18 public:
@@ -347,9 +334,23 @@ class QPDF::Doc @@ -347,9 +334,23 @@ class QPDF::Doc
347 class JobSetter; 334 class JobSetter;
348 class ParseGuard; 335 class ParseGuard;
349 class Resolver; 336 class Resolver;
  337 + class StreamCopier;
350 class Streams; 338 class Streams;
351 class Writer; 339 class Writer;
352 340
  341 + // StreamCopier class is restricted to QPDFObjectHandle so it can copy stream data.
  342 + class StreamCopier
  343 + {
  344 + friend class QPDFObjectHandle;
  345 +
  346 + private:
  347 + static void
  348 + copyStreamData(QPDF* qpdf, QPDFObjectHandle const& dest, QPDFObjectHandle const& src)
  349 + {
  350 + qpdf->copyStreamData(dest, src);
  351 + }
  352 + };
  353 +
353 Doc() = delete; 354 Doc() = delete;
354 Doc(Doc const&) = delete; 355 Doc(Doc const&) = delete;
355 Doc(Doc&&) = delete; 356 Doc(Doc&&) = delete;