#include <list>
#include <string>
#include "action.h"
+#include "misc.h"
+/**
+Base class for Actions that want to execute an external program.
+*/
class ExternalAction: public Action
{
-public:
- int check();
protected:
- std::list<std::string> argv;
+ StringList argv;
+ Msp::FS::Path work_dir;
int pid;
int exit_code;
ExternalAction(Builder &b): Action(b), pid(0), exit_code(0) { }
+
+ /** Starts the external program. Fill in argv before calling this. */
void launch();
+
+public:
+ virtual int check();
};
#endif