Fixes for writing 3D CPLs.
[libdcp.git] / src / mxf_asset.h
index 1e4d362c3ec6a48e5d313e4e9c45449fc5c92ff5..763f405bdf687c2f52b894dcc2cb43cfc06b1372 100644 (file)
 
 namespace ASDCP {
        class AESEncContext;
+       class AESDecContext;
 }
 
 namespace libdcp
 {
 
 class MXFMetadata;     
+class KDMCipher;
 
 /** @brief Parent class for assets which have MXF files */     
 class MXFAsset : public Asset
@@ -69,6 +71,10 @@ public:
 
        void add_typed_key_id (xmlpp::Element *) const;
 
+       std::string key_id () const {
+               return _key_id;
+       }
+
        void set_key_id (std::string k) {
                _key_id = k;
        }
@@ -76,6 +82,8 @@ public:
        bool encrypted () const {
                return !_key_id.empty ();
        }
+
+       void set_kdm_cipher (KDMCipher);
        
 protected:
        virtual std::string key_type () const = 0;
@@ -87,6 +95,7 @@ protected:
        ASDCP::AESEncContext* _encryption_context;
        std::string _key_value;
        std::string _key_id;
+       ASDCP::AESDecContext* _decryption_context;
 };
 
 }