Merge branch 'master' into cairocanvas
[ardour.git] / libs / pbd / pbd / stateful_diff_command.h
index 25cdfbba12c24f12a92bed4f6884b15d3735eed9..2187c727edfaac8b971708268c9bcd12a4a3d180 100644 (file)
@@ -22,6 +22,8 @@
 
 #include <boost/shared_ptr.hpp>
 #include <boost/weak_ptr.hpp>
+
+#include "pbd/libpbd_visibility.h"
 #include "pbd/command.h"
 
 namespace PBD
@@ -33,7 +35,7 @@ class PropertyList;
 /** A Command which stores its action as the differences between the before and after
  *  state of a Stateful object.
  */
-class StatefulDiffCommand : public Command
+class LIBPBD_API StatefulDiffCommand : public Command
 {
 public:
        StatefulDiffCommand (boost::shared_ptr<StatefulDestructible>);
@@ -45,10 +47,11 @@ public:
         
        XMLNode& get_state ();
 
+       bool empty () const;
+
 private:
        boost::weak_ptr<Stateful> _object; ///< the object in question
-        PBD::PropertyList* _undo; ///< its (partial) state before the command, to allow undo
-        PBD::PropertyList* _redo;  ///< its (partial) state after the operation, to allow redo
+        PBD::PropertyList* _changes; ///< property changes to execute this command
 };
 
 };