-#ifndef ACTION_H_
-#define ACTION_H_
-
-#include <string>
-#include <sigc++/sigc++.h>
-
-class Builder;
-
-/**
-Actions are executed to rebuild targets.
-*/
-class Action
-{
-public:
- /// Emitted when the action has finished
- sigc::signal<void> signal_done;
-
-protected:
- Builder &builder;
-
- Action(Builder &b): builder(b) { }
-public:
- virtual ~Action() { }
-
- /**
- Checks whether the action is done and emits signal_done if it is. Returns 0
- if the action has completed successfully, 1 if an error was encountered and
- -1 if it is still executing.
- */
- virtual int check() = 0;
-
-protected:
- /**
- Annouces the action by printing out the package name, tool and target name.
- */
- void announce(const std::string &, const std::string &, const std::string &);
-};
-
-#endif