-#ifndef INTERNALTASK_H_
-#define INTERNALTASK_H_
-
-#include <msp/core/thread.h>
-#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:
- volatile Status status;
-
- Worker();
-
- public:
- Status get_status() const { return status; }
- };
-
-private:
- Worker *worker;
-
-public:
- InternalTask(Worker *);
- ~InternalTask();
-
- std::string get_command() const override { return "<internal>"; }
- void start() override;
- Status check() override;
- Status wait() override;
-};
-
-#endif