Extract common code out into kdm_for_screen()
[dcpomatic.git] / src / lib / encrypted_ecinema_kdm.h
index f459409fe6e71a69a5436b294716ab052f0fdada..90e13422a40621bdffe43c6be2477b81badbb038 100644 (file)
 #include <dcp/key.h>
 #include <dcp/data.h>
 #include <dcp/certificate.h>
+#include <dcp/local_time.h>
+#include <boost/optional.hpp>
 
 class DecryptedECinemaKDM;
 
 class EncryptedECinemaKDM
 {
 public:
+       explicit EncryptedECinemaKDM (std::string xml);
+
+       std::string as_xml () const;
+       void as_xml (boost::filesystem::path out) const;
+
+       std::string id () const {
+               return _id;
+       }
+
+       std::string name () const {
+               return _name;
+       }
+
+       dcp::Data data () const {
+               return _data;
+       }
 
 private:
        friend class DecryptedECinemaKDM;
 
-       EncryptedECinemaKDM (dcp::Key key, dcp::Certificate recipient);
+       EncryptedECinemaKDM (std::string id, std::string name, dcp::Key key, boost::optional<dcp::LocalTime> not_valid_before, boost::optional<dcp::LocalTime> not_valid_after, dcp::Certificate recipient);
 
-       /** encrypted content key */
-       dcp::Data _content_key;
+       std::string _id;
+       std::string _name;
+       /** encrypted data */
+       dcp::Data _data;
 };
 
 #endif