Commit cabd582ea61d56206c31499c4b04ce0f4ad786d2
1 parent
43f2fa1d
Refactor `ForeignStreamData`: simplify constructor and streamline initialization logic.
Showing
2 changed files
with
8 additions
and
28 deletions
libqpdf/QPDF.cc
| ... | ... | @@ -111,20 +111,14 @@ namespace |
| 111 | 111 | } // namespace |
| 112 | 112 | |
| 113 | 113 | QPDF::ForeignStreamData::ForeignStreamData( |
| 114 | - std::shared_ptr<EncryptionParameters> encp, | |
| 115 | - std::shared_ptr<InputSource> file, | |
| 116 | - QPDFObjGen foreign_og, | |
| 117 | - qpdf_offset_t offset, | |
| 118 | - size_t length, | |
| 119 | - QPDFObjectHandle local_dict, | |
| 120 | - bool is_root_metadata) : | |
| 121 | - encp(encp), | |
| 122 | - file(file), | |
| 123 | - foreign_og(foreign_og), | |
| 114 | + Stream& foreign, qpdf_offset_t offset, QPDFObjectHandle local_dict) : | |
| 115 | + encp(foreign.qpdf()->m->encp), | |
| 116 | + file(foreign.qpdf()->m->file), | |
| 117 | + foreign_og(foreign.id_gen()), | |
| 124 | 118 | offset(offset), |
| 125 | - length(length), | |
| 119 | + length(foreign.getLength()), | |
| 126 | 120 | local_dict(local_dict), |
| 127 | - is_root_metadata(is_root_metadata) | |
| 121 | + is_root_metadata(foreign.isRootMetadata()) | |
| 128 | 122 | { |
| 129 | 123 | } |
| 130 | 124 | |
| ... | ... | @@ -705,14 +699,7 @@ QPDF::copyStreamData(QPDFObjectHandle result, QPDFObjectHandle foreign_oh) |
| 705 | 699 | result.replaceStreamData( |
| 706 | 700 | m->copied_stream_data_provider, dict["/Filter"], dict["/DecodeParms"]); |
| 707 | 701 | } else { |
| 708 | - auto foreign_stream_data = ForeignStreamData( | |
| 709 | - foreign_stream_qpdf.m->encp, | |
| 710 | - foreign_stream_qpdf.m->file, | |
| 711 | - foreign, | |
| 712 | - foreign.offset(), | |
| 713 | - foreign.getLength(), | |
| 714 | - dict, | |
| 715 | - foreign.isRootMetadata()); | |
| 702 | + auto foreign_stream_data = ForeignStreamData(foreign, foreign_oh.offset(), dict); | |
| 716 | 703 | m->copied_stream_data_provider->registerForeignStream(local_og, foreign_stream_data); |
| 717 | 704 | result.replaceStreamData( |
| 718 | 705 | m->copied_stream_data_provider, dict["/Filter"], dict["/DecodeParms"]); | ... | ... |
libqpdf/qpdf/QPDF_private.hh
| ... | ... | @@ -102,14 +102,7 @@ class QPDF::ForeignStreamData |
| 102 | 102 | friend class QPDF; |
| 103 | 103 | |
| 104 | 104 | public: |
| 105 | - ForeignStreamData( | |
| 106 | - std::shared_ptr<EncryptionParameters> encp, | |
| 107 | - std::shared_ptr<InputSource> file, | |
| 108 | - QPDFObjGen foreign_og, | |
| 109 | - qpdf_offset_t offset, | |
| 110 | - size_t length, | |
| 111 | - QPDFObjectHandle local_dict, | |
| 112 | - bool is_root_metadata); | |
| 105 | + ForeignStreamData(Stream& foreign, qpdf_offset_t offset, QPDFObjectHandle local_dict); | |
| 113 | 106 | |
| 114 | 107 | private: |
| 115 | 108 | std::shared_ptr<EncryptionParameters> encp; | ... | ... |