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)
{}
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: