X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Finternaltask.h;h=399e11937fe0d71e0532f85683aa48632f841286;hb=afeb81fb97b8ee4e50a3679707deb17e5b79a74f;hp=ea25ba89eca0816751d8f13687b5e4aa5afeefd8;hpb=338eefb513953ae55e8e3614c009c242ba8ad74e;p=builder.git diff --git a/source/internaltask.h b/source/internaltask.h index ea25ba8..399e119 100644 --- a/source/internaltask.h +++ b/source/internaltask.h @@ -4,11 +4,18 @@ #include #include "task.h" +/** +Runs a worker thread. Tools should derive a thread class from +InternalTask::Worker. The worker thread must set its status to either SUCCESS +or ERROR before terminating. +*/ class InternalTask: public Task { public: class Worker: public Msp::Thread { + friend class InternalTask; + protected: Status status; @@ -25,7 +32,10 @@ public: InternalTask(Worker *); ~InternalTask(); + virtual std::string get_command() const { return ""; } + virtual void start(); virtual Status check(); + virtual Status wait(); }; #endif