No-op: whitespace.
[libdcp.git] / src / encrypted_kdm.h
index 8d13a25ae19a201f6a284bb727600bdd90da9aa8..dc98e1f122edc782496f5b08ceee3f577aab4184 100644 (file)
 
 */
 
+/** @file  src/encrypted_kdm.h
+ *  @brief EncryptedKDM class.
+ */
+
+#ifndef LIBDCP_ENCRYPTED_KDM_H
+#define LIBDCP_ENCRYPTED_KDM_H
+
 #include "local_time.h"
+#include "types.h"
 #include <boost/filesystem.hpp>
 #include <boost/date_time/local_time/local_time.hpp>
 
@@ -31,39 +39,59 @@ namespace data {
        class EncryptedKDMData;
 }
 
-class Signer;  
+class Signer;
 class Certificate;
 
+/** @class EncryptedKDM
+ *  @brief An encrypted KDM.
+ *
+ *  This is a KDM whose keys are encrypted using the target projector's private key.
+ *  An EncryptedKDM object can be initialised from a KDM XML file, or created from
+ *  a DecryptedKDM (using DecryptedKDM::encrypt).
+ */
 class EncryptedKDM
 {
 public:
-       /** Read a KDM from an XML file */
-       EncryptedKDM (boost::filesystem::path file);
+       EncryptedKDM (std::string);
+       EncryptedKDM (EncryptedKDM const & kdm);
+       EncryptedKDM & operator= (EncryptedKDM const &);
+       ~EncryptedKDM ();
+
+       /** Write this KDM as XML to a file.
+        *  @param file File to write to.
+        */
+       void as_xml (boost::filesystem::path file) const;
+
+       /** @return This KDM as XML */
+       std::string as_xml () const;
+
+       /** @return The base64-encoded and encrypted keys that this KDM delivers.
+        *  Note that the returned `keys' contain more than just the asset decryption
+        *  keys (also key id, CPL id etc.)
+        */
+       std::list<std::string> keys () const;
+
+private:
+
+       friend class DecryptedKDM;
 
        /** Construct an EncryptedKDM from a set of details */
        EncryptedKDM (
                boost::shared_ptr<const Signer> signer,
-               boost::shared_ptr<const Certificate> recipient,
+               Certificate recipient,
                std::string device_list_description,
                std::string cpl_id,
                std::string cpl_content_title_text,
-               LocalTime _not_valid_before,
-               LocalTime _not_valid_after,
+               LocalTime not_valid_before,
+               LocalTime not_valid_after,
+               Formulation formulation,
                std::list<std::pair<std::string, std::string> > key_ids,
                std::list<std::string> keys
                );
 
-       EncryptedKDM (EncryptedKDM const & kdm);
-       EncryptedKDM & operator= (EncryptedKDM const &);
-       ~EncryptedKDM ();
-
-       void as_xml (boost::filesystem::path) const;
-       std::string as_xml () const;
-
-       std::list<std::string> keys () const;
-       
-private:
        data::EncryptedKDMData* _data;
 };
 
 }
+
+#endif