Merge branch 'master' of ssh://git.carlh.net/home/carl/git/dcpomatic
[dcpomatic.git] / src / lib / dkdm_wrapper.h
index d3ee2a09566c34afaa48036fa8bff507ed6ccf9b..09e9d25c428c3808869fc6b20429edcc9fa73876 100644 (file)
@@ -31,6 +31,7 @@ class DKDMGroup;
 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;
 
@@ -51,7 +52,7 @@ private:
 class DKDM : public DKDMBase
 {
 public:
-       DKDM (dcp::EncryptedKDM k)
+       explicit DKDM (dcp::EncryptedKDM k)
                : _dkdm (k)
        {}
 
@@ -69,7 +70,7 @@ private:
 class DKDMGroup : public DKDMBase
 {
 public:
-       DKDMGroup (std::string name)
+       explicit DKDMGroup (std::string name)
                : _name (name)
        {}
 
@@ -83,7 +84,7 @@ public:
                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: