X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fdcp.h;h=d7919e612f845367f1c4a7bdc2db906793e412aa;hb=6eaf721983d959de9adf6347525fa203395e2bd5;hp=eea043dd8ff1de9e87c1461f8b3b185d5b57ee82;hpb=7394f50d8b5334a17cac37c8956b1b7e8e5e49c8;p=libdcp.git diff --git a/src/dcp.h b/src/dcp.h index eea043dd..d7919e61 100644 --- a/src/dcp.h +++ b/src/dcp.h @@ -29,9 +29,11 @@ #include #include #include "types.h" +#include "certificates.h" namespace xmlpp { - class Node; + class Document; + class Element; } /** @brief Namespace for everything in libdcp */ @@ -45,6 +47,8 @@ class SubtitleAsset; class Reel; class CPL; class XMLMetadata; +class Encryption; +class KDM; /** @class DCP * @brief A class to create or read a DCP. @@ -74,7 +78,7 @@ public: /** Write the required XML files to the directory that was * passed into the constructor. */ - void write_xml (XMLMetadata const &) const; + void write_xml (XMLMetadata const &, boost::shared_ptr crypt = boost::shared_ptr ()) const; /** Compare this DCP with another, according to various options. * @param other DCP to compare this one to. @@ -89,10 +93,14 @@ public: void add_cpl (boost::shared_ptr cpl); /** @return The list of CPLs in this DCP */ - std::list > cpls () const { + std::list > cpls () const { return _cpls; } + bool encrypted () const; + + void add_kdm (KDM const &); + /** Emitted with a parameter between 0 and 1 to indicate progress * for long jobs. */ @@ -103,7 +111,7 @@ private: /** Write the PKL file. * @param pkl_uuid UUID to use. */ - std::string write_pkl (std::string pkl_uuid, XMLMetadata const &) const; + std::string write_pkl (std::string pkl_uuid, XMLMetadata const &, boost::shared_ptr) const; /** Write the VOLINDEX file */ void write_volindex () const; @@ -126,7 +134,7 @@ private: /** the directory that we are writing to */ std::string _directory; /** our CPLs */ - std::list > _cpls; + std::list > _cpls; }; }