class Builder;
+/**
+Actions are executed to rebuild targets.
+*/
class Action
{
public:
+ /// Emitted when the action has finished
sigc::signal<void> signal_done;
+ /**
+ Checks whether the action is done and emits signal_done if it is.
+
+ @return 0 on successful completion, 1 on error, -1 if the action is still
+ executing
+ */
virtual int check()=0;
+
virtual ~Action() { }
protected:
Builder &builder;