Remove in-place translations support.
[dcpomatic.git] / src / lib / dkdm_wrapper.h
index 7227fdc86449ea4ccf9b28fdb8c803fe60878b1c..7182e5e85794d7c401c851b58e8fd36103d48430 100644 (file)
@@ -38,6 +38,8 @@ public:
        virtual ~DKDMBase () {}
        virtual std::string name () const = 0;
        virtual void as_xml (xmlpp::Element *) const = 0;
+       /** @return true if this thing is, or contains, any actual DKDM */
+       virtual bool contains_dkdm() const = 0;
 
        static std::shared_ptr<DKDMBase> read (cxml::ConstNodePtr node);
 
@@ -63,6 +65,9 @@ public:
 
        std::string name () const override;
        void as_xml (xmlpp::Element *) const override;
+       bool contains_dkdm() const override {
+               return true;
+       }
 
        dcp::EncryptedKDM dkdm () const {
                return _dkdm;
@@ -86,6 +91,8 @@ public:
 
        void as_xml (xmlpp::Element *) const override;
 
+       bool contains_dkdm() const override;
+
        std::list<std::shared_ptr<DKDMBase>> children () const {
                return _children;
        }
@@ -93,6 +100,8 @@ public:
        void add (std::shared_ptr<DKDMBase> child, std::shared_ptr<DKDM> previous = std::shared_ptr<DKDM>());
         void remove (std::shared_ptr<DKDMBase> child);
 
+       bool contains(std::string dkdm_id) const;
+
 private:
        std::string _name;
        std::list<std::shared_ptr<DKDMBase>> _children;