X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fexternalaction.h;h=1f830c988313e1f569ddbd684726d66bd12c13e5;hb=43bd25ffcb0b4f7882773f4676b209a99cb73c04;hp=52eed37e5da12857725d19b128b2f2869dc5cb27;hpb=59ac0a44d6edf179c01604c6ced744873213f855;p=builder.git diff --git a/source/externalaction.h b/source/externalaction.h index 52eed37..1f830c9 100644 --- a/source/externalaction.h +++ b/source/externalaction.h @@ -4,17 +4,26 @@ #include #include #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 argv; + StringList argv; + Msp::FS::Path work_dir; int pid; + int exit_code; - ExternalAction(Builder &b): Action(b) { } + 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