Add a couple of pthread helper macros
[ardour.git] / libs / pbd / pbd / property_list.h
index af9d10b88ffc8057c24d6347a59314b2f336691f..abb85e77d52dbd1940dd60cd9be11c2097e39517 100644 (file)
 
 #include <map>
 
+#include "pbd/libpbd_visibility.h"
 #include "pbd/property_basics.h"
 
 class XMLNode;
 
 namespace PBD {
-class PropertyList : public std::map<PropertyID, PropertyBase*>
+
+/** A list of properties, mapped using their ID */     
+class LIBPBD_API PropertyList : public std::map<PropertyID, PropertyBase*>
 {
 public:
-       PropertyList();
+       PropertyList ();
+       PropertyList (PropertyList const &);
         
        virtual ~PropertyList();
 
-        void add_history_state (XMLNode* before);
+        void get_changes_as_xml (XMLNode *);
+       void invert ();
 
         /** Add a property (of some kind) to the list. Used when
-            constructing PropertyList's that describe a change/operation.
+            constructing PropertyLists that describe a change/operation.
         */
         bool add (PropertyBase* prop);
 
@@ -57,7 +62,7 @@ protected:
  *  own Properties store them in an OwnedPropertyList
  *  to avoid having them deleted at the wrong time.
  */
-class OwnedPropertyList : public PropertyList
+class LIBPBD_API OwnedPropertyList : public PropertyList
 {
 public:
        OwnedPropertyList();