add missing files
[ardour.git] / libs / pbd / pbd / stateful_diff_command.h
index cab1ae40cfb742554034bedfbbdaf5430793aeb0..2a213d7a17e7fcea73be991cf6d3316e2d921727 100644 (file)
@@ -27,7 +27,7 @@
 namespace PBD
 {
 
-class Stateful;        
+class StatefulDestructible;    
 class PropertyList;
 
 /** A Command which stores its action as the differences between the before and after
@@ -36,19 +36,20 @@ class PropertyList;
 class StatefulDiffCommand : public Command
 {
 public:
-       StatefulDiffCommand (boost::shared_ptr<Stateful>);
-       StatefulDiffCommand (boost::shared_ptr<Stateful>, XMLNode const &);
+       StatefulDiffCommand (boost::shared_ptr<StatefulDestructible>);
+       StatefulDiffCommand (boost::shared_ptr<StatefulDestructible>, XMLNode const &);
        ~StatefulDiffCommand ();
 
        void operator() ();
        void undo ();
-
+        
        XMLNode& get_state ();
 
+       bool empty () const;
+
 private:
        boost::weak_ptr<Stateful> _object; ///< the object in question
-        PBD::PropertyList* _before; ///< its (partial) state before the command
-        PBD::PropertyList* _after;  ///< its (partial) state after the operation
+        PBD::PropertyList* _changes; ///< property changes to execute this command
 };
 
 };