Merge branch 'master' of ssh://carlh.dyndns.org/home/carl/git/libdcp
[libdcp.git] / src / dcp.cc
index 234c134e71b5f0b1d0bff08f008426c33d94b82c..48ee7c56c9cbbf9daed213a4ddfb209876d36bd5 100644 (file)
@@ -45,7 +45,7 @@
 #include "parse/asset_map.h"
 #include "reel.h"
 #include "cpl.h"
-#include "encryption.h"
+#include "signer.h"
 #include "kdm.h"
 
 using std::string;
@@ -60,28 +60,28 @@ using boost::shared_ptr;
 using boost::lexical_cast;
 using namespace libdcp;
 
-DCP::DCP (string directory)
+DCP::DCP (boost::filesystem::path directory)
        : _directory (directory)
 {
        boost::filesystem::create_directories (directory);
 }
 
 void
-DCP::write_xml (bool interop, XMLMetadata const & metadata, shared_ptr<Encryption> crypt) const
+DCP::write_xml (bool interop, XMLMetadata const & metadata, shared_ptr<const Signer> signer) const
 {
        for (list<shared_ptr<CPL> >::const_iterator i = _cpls.begin(); i != _cpls.end(); ++i) {
-               (*i)->write_xml (interop, metadata, crypt);
+               (*i)->write_xml (interop, metadata, signer);
        }
 
        string pkl_uuid = make_uuid ();
-       string pkl_path = write_pkl (pkl_uuid, interop, metadata, crypt);
+       string pkl_path = write_pkl (pkl_uuid, interop, metadata, signer);
        
        write_volindex ();
        write_assetmap (pkl_uuid, boost::filesystem::file_size (pkl_path), interop, metadata);
 }
 
 std::string
-DCP::write_pkl (string pkl_uuid, bool interop, XMLMetadata const & metadata, shared_ptr<Encryption> crypt) const
+DCP::write_pkl (string pkl_uuid, bool interop, XMLMetadata const & metadata, shared_ptr<const Signer> signer) const
 {
        assert (!_cpls.empty ());
        
@@ -99,7 +99,7 @@ DCP::write_pkl (string pkl_uuid, bool interop, XMLMetadata const & metadata, sha
                pkl = doc.create_root_node("PackingList", "http://www.smpte-ra.org/schemas/429-8/2007/PKL");
        }
        
-       if (crypt) {
+       if (signer) {
                pkl->set_namespace_declaration ("http://www.w3.org/2000/09/xmldsig#", "dsig");
        }
 
@@ -120,8 +120,8 @@ DCP::write_pkl (string pkl_uuid, bool interop, XMLMetadata const & metadata, sha
                (*i)->write_to_pkl (asset_list);
        }
 
-       if (crypt) {
-               sign (pkl, crypt->certificates, crypt->signer_key, interop);
+       if (signer) {
+               signer->sign (pkl, interop);
        }
                
        doc.write_to_file_formatted (p.string (), "UTF-8");
@@ -349,10 +349,10 @@ DCP::encrypted () const
 void
 DCP::add_kdm (KDM const & kdm)
 {
-       list<KDMCipher> ciphers = kdm.ciphers ();
+       list<KDMKey> keys = kdm.keys ();
        
        for (list<shared_ptr<CPL> >::iterator i = _cpls.begin(); i != _cpls.end(); ++i) {
-               for (list<KDMCipher>::iterator j = ciphers.begin(); j != ciphers.end(); ++j) {
+               for (list<KDMKey>::iterator j = keys.begin(); j != keys.end(); ++j) {
                        if (j->cpl_id() == (*i)->id()) {
                                (*i)->add_kdm (kdm);
                        }