X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fexternalaction.h;h=6df268fd4c25e325fff5976da97ba9aab1f372c4;hb=49ee08bb6f63f6b3a8cdd3b7cf032dea9b2cba8a;hp=52eed37e5da12857725d19b128b2f2869dc5cb27;hpb=59ac0a44d6edf179c01604c6ced744873213f855;p=builder.git diff --git a/source/externalaction.h b/source/externalaction.h index 52eed37..6df268f 100644 --- a/source/externalaction.h +++ b/source/externalaction.h @@ -1,20 +1,36 @@ +/* $Id$ + +This file is part of builder +Copyright © 2006-2009 Mikko Rasa, Mikkosoft Productions +Distributed under the LGPL +*/ + #ifndef EXTERNALACTION_H_ #define EXTERNALACTION_H_ #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