Make global static children variable an xml node object variable.
[ardour.git] / libs / pbd / pbd / xml++.h
index 5dcb4f084aa5e9ea9a1a575c2006b8b6f10cce89..f98f7854d1c14e5121aa967a70bdda7439b3ee62 100644 (file)
@@ -73,6 +73,7 @@ private:
   XMLNodeList _children;
   XMLPropertyList _proplist;
   XMLPropertyMap _propmap;
+  mutable XMLNodeList _selected_children;
 
 public:
   XMLNode(const string &);
@@ -87,15 +88,19 @@ public:
   const string & set_content (const string &);
   XMLNode *add_content(const string & = string());
 
-  const XMLNodeList & children (const string & = string()) const;
+  const XMLNodeList & children (const string& str = string()) const;
   XMLNode *add_child (const char *);
   XMLNode *add_child_copy (const XMLNode&);
+  XMLNode *child (const char*) const;
   void add_child_nocopy (XMLNode&);
 
   const XMLPropertyList & properties() const { return _proplist; };
   XMLProperty *property(const char * );
+  XMLProperty *property(const std::string&);
   const XMLProperty *property(const char * n) const
        { return ((XMLNode *) this)->property(n); };
+  const XMLProperty *property(const std::string& ns) const
+       { return ((XMLNode *) this)->property(ns); };
   XMLProperty *add_property(const char *, const string &);
   XMLProperty *add_property(const char *, const char * = "");