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,20 +111,14 @@ namespace | ||
| 111 | } // namespace | 111 | } // namespace |
| 112 | 112 | ||
| 113 | QPDF::ForeignStreamData::ForeignStreamData( | 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 | offset(offset), | 118 | offset(offset), |
| 125 | - length(length), | 119 | + length(foreign.getLength()), |
| 126 | local_dict(local_dict), | 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,14 +699,7 @@ QPDF::copyStreamData(QPDFObjectHandle result, QPDFObjectHandle foreign_oh) | ||
| 705 | result.replaceStreamData( | 699 | result.replaceStreamData( |
| 706 | m->copied_stream_data_provider, dict["/Filter"], dict["/DecodeParms"]); | 700 | m->copied_stream_data_provider, dict["/Filter"], dict["/DecodeParms"]); |
| 707 | } else { | 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 | m->copied_stream_data_provider->registerForeignStream(local_og, foreign_stream_data); | 703 | m->copied_stream_data_provider->registerForeignStream(local_og, foreign_stream_data); |
| 717 | result.replaceStreamData( | 704 | result.replaceStreamData( |
| 718 | m->copied_stream_data_provider, dict["/Filter"], dict["/DecodeParms"]); | 705 | m->copied_stream_data_provider, dict["/Filter"], dict["/DecodeParms"]); |
libqpdf/qpdf/QPDF_private.hh
| @@ -102,14 +102,7 @@ class QPDF::ForeignStreamData | @@ -102,14 +102,7 @@ class QPDF::ForeignStreamData | ||
| 102 | friend class QPDF; | 102 | friend class QPDF; |
| 103 | 103 | ||
| 104 | public: | 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 | private: | 107 | private: |
| 115 | std::shared_ptr<EncryptionParameters> encp; | 108 | std::shared_ptr<EncryptionParameters> encp; |