44 #include "compose.hpp"
52 #include <boost/signals2.hpp>
73 class CertificateChain;
92 explicit DCP (boost::filesystem::path directory);
95 DCP& operator= (
DCP const&) =
delete;
115 void read (std::vector<VerificationNote>* notes =
nullptr,
bool ignore_incorrect_picture_mxf_type =
false);
125 void add (std::shared_ptr<CPL> cpl);
127 std::vector<std::shared_ptr<CPL>> cpls ()
const;
133 std::vector<std::shared_ptr<Asset>>
assets (
bool ignore_unresolved =
false)
const;
135 bool any_encrypted ()
const;
136 bool all_encrypted ()
const;
154 std::string issuer = String::compose(
"libdcp %1", dcp::version),
155 std::string creator = String::compose(
"libdcp %1", dcp::version),
156 std::string issue_date =
LocalTime().as_string(),
157 std::string annotation_text = String::compose(
"Created by libdcp %1", dcp::version),
158 std::shared_ptr<const CertificateChain> signer = std::shared_ptr<const CertificateChain>(),
162 void resolve_refs (std::vector<std::shared_ptr<Asset>>
assets);
169 boost::filesystem::path directory ()
const {
176 std::vector<std::shared_ptr<PKL>>
pkls ()
const {
180 boost::optional<boost::filesystem::path> asset_map_path () {
184 static std::vector<boost::filesystem::path>
directories_from_files (std::vector<boost::filesystem::path> files);
195 Standard
standard, std::string pkl_uuid, boost::filesystem::path pkl_path,
196 std::string issuer, std::string creator, std::string issue_date, std::string annotation_text
202 std::vector<std::shared_ptr<CPL>>
_cpls;
204 std::vector<std::shared_ptr<PKL>>
_pkls;
A class to create or read a DCP.
DCP(boost::filesystem::path directory)
void write_xml(std::string issuer=String::compose("libdcp %1", dcp::version), std::string creator=String::compose("libdcp %1", dcp::version), std::string issue_date=LocalTime().as_string(), std::string annotation_text=String::compose("Created by libdcp %1", dcp::version), std::shared_ptr< const CertificateChain > signer=std::shared_ptr< const CertificateChain >(), NameFormat name_format=NameFormat("%t"))
bool equals(DCP const &other, EqualityOptions options, NoteHandler note) const
static std::vector< boost::filesystem::path > directories_from_files(std::vector< boost::filesystem::path > files)
std::vector< std::shared_ptr< Asset > > assets(bool ignore_unresolved=false) const
std::vector< std::shared_ptr< PKL > > _pkls
boost::filesystem::path _directory
void write_assetmap(Standard standard, std::string pkl_uuid, boost::filesystem::path pkl_path, std::string issuer, std::string creator, std::string issue_date, std::string annotation_text) const
std::vector< std::shared_ptr< CPL > > _cpls
boost::optional< Standard > standard() const
void read(std::vector< VerificationNote > *notes=nullptr, bool ignore_incorrect_picture_mxf_type=false)
std::vector< std::shared_ptr< PKL > > pkls() const
void write_volindex(Standard standard) const
boost::optional< boost::filesystem::path > _asset_map
boost::optional< Standard > _standard
A representation of a local time (down to the second), including its offset from GMT (equivalent to x...
Namespace for everything in libdcp.
A class to describe what "equality" means for a particular test.
Utility methods and classes.
dcp::verify() method and associated code
Versioning variables that are written by the build system.