*/
+#ifdef DCPOMATIC_VARIANT_SWAROOP
+#include "encrypted_ecinema_kdm.h"
+#endif
#include <dcp/encrypted_kdm.h>
#include <libcxml/cxml.h>
#include <boost/enable_shared_from_this.hpp>
class DKDMBase : public boost::enable_shared_from_this<DKDMBase>
{
public:
+ virtual ~DKDMBase () {}
virtual std::string name () const = 0;
virtual void as_xml (xmlpp::Element *) const = 0;
class DKDM : public DKDMBase
{
public:
- DKDM (dcp::EncryptedKDM k)
+ explicit DKDM (dcp::EncryptedKDM k)
: _dkdm (k)
{}
dcp::EncryptedKDM _dkdm;
};
+#ifdef DCPOMATIC_VARIANT_SWAROOP
+class ECinemaDKDM : public DKDMBase
+{
+public:
+ explicit ECinemaDKDM (EncryptedECinemaKDM k)
+ : _dkdm (k)
+ {}
+
+ std::string name () const;
+ void as_xml (xmlpp::Element *) const;
+
+ EncryptedECinemaKDM dkdm () const {
+ return _dkdm;
+ }
+
+private:
+ EncryptedECinemaKDM _dkdm;
+};
+#endif
+
class DKDMGroup : public DKDMBase
{
public:
- DKDMGroup (std::string name)
+ explicit DKDMGroup (std::string name)
: _name (name)
{}
return _children;
}
- void add (boost::shared_ptr<DKDMBase> child);
+ void add (boost::shared_ptr<DKDMBase> child, boost::shared_ptr<DKDM> previous = boost::shared_ptr<DKDM> ());
void remove (boost::shared_ptr<DKDMBase> child);
private: