diff options
| author | Carl Hetherington <cth@carlh.net> | 2022-04-25 23:31:13 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2022-04-25 23:31:13 +0200 |
| commit | ef9671811920cbef50f0f01d063eab418de8925e (patch) | |
| tree | 0161463370f4a995f5e1b275b642de534b68f6d4 /src/dcp.cc | |
| parent | 98227f0ca88034061092cd2a179c5cade2924f50 (diff) | |
Tidy up write_xml() API a little.
Diffstat (limited to 'src/dcp.cc')
| -rw-r--r-- | src/dcp.cc | 80 |
1 files changed, 70 insertions, 10 deletions
@@ -371,14 +371,7 @@ DCP::write_volindex (Standard standard) const void -DCP::write_xml ( - string issuer, - string creator, - string issue_date, - string annotation_text, - shared_ptr<const CertificateChain> signer, - NameFormat name_format - ) +DCP::write_xml (shared_ptr<const CertificateChain> signer, NameFormat name_format) { if (_cpls.empty()) { throw MiscError ("Cannot write DCP with no CPLs."); @@ -401,7 +394,15 @@ DCP::write_xml ( } if (_pkls.empty()) { - _pkls.push_back(make_shared<PKL>(standard, annotation_text, issue_date, issuer, creator)); + _pkls.push_back( + make_shared<PKL>( + standard, + _new_annotation_text.get_value_or(String::compose("Created by libdcp %1", dcp::version)), + _new_issue_date.get_value_or(LocalTime().as_string()), + _new_issuer.get_value_or(String::compose("libdcp %1", dcp::version)), + _new_creator.get_value_or(String::compose("libdcp %1", dcp::version)) + ) + ); } auto pkl = _pkls.front(); @@ -418,7 +419,13 @@ DCP::write_xml ( pkl->write (pkl_path, signer); if (!_asset_map) { - _asset_map = AssetMap(standard, annotation_text, issue_date, issuer, creator); + _asset_map = AssetMap( + standard, + _new_annotation_text.get_value_or(String::compose("Created by libdcp %1", dcp::version)), + _new_issue_date.get_value_or(LocalTime().as_string()), + _new_issuer.get_value_or(String::compose("libdcp %1", dcp::version)), + _new_creator.get_value_or(String::compose("libdcp %1", dcp::version)) + ); } /* The assets may have changed since we read the asset map, so re-add them */ @@ -490,3 +497,56 @@ DCP::directories_from_files (vector<boost::filesystem::path> files) } return d; } + + +void +DCP::set_issuer(string issuer) +{ + for (auto pkl: _pkls) { + pkl->set_issuer(issuer); + } + if (_asset_map) { + _asset_map->set_issuer(issuer); + } + _new_issuer = issuer; +} + + +void +DCP::set_creator(string creator) +{ + for (auto pkl: _pkls) { + pkl->set_creator(creator); + } + if (_asset_map) { + _asset_map->set_creator(creator); + } + _new_creator = creator; +} + + +void +DCP::set_issue_date(string issue_date) +{ + for (auto pkl: _pkls) { + pkl->set_issue_date(issue_date); + } + if (_asset_map) { + _asset_map->set_issue_date(issue_date); + } + _new_issue_date = issue_date; +} + + +void +DCP::set_annotation_text(string annotation_text) +{ + for (auto pkl: _pkls) { + pkl->set_annotation_text(annotation_text); + } + if (_asset_map) { + _asset_map->set_annotation_text(annotation_text); + } + _new_annotation_text = annotation_text; +} + |
