]> git.tdb.fi Git - builder.git/blobdiff - source/internaltask.cpp
Document Task and ExternalTask methods
[builder.git] / source / internaltask.cpp
index 42932034c1435d4a655182b7189f86068bf9b5fb..c117bad897365f9e4159f7c58b9f9b764f6ae13c 100644 (file)
@@ -6,9 +6,15 @@ InternalTask::InternalTask(Worker *w):
 
 InternalTask::~InternalTask()
 {
+       worker->join();
        delete worker;
 }
 
+void InternalTask::start()
+{
+       worker->launch();
+}
+
 Task::Status InternalTask::check()
 {
        if(worker->get_status()!=RUNNING)
@@ -16,6 +22,13 @@ Task::Status InternalTask::check()
        return worker->get_status();
 }
 
+Task::Status InternalTask::wait()
+{
+       Status result;
+       while((result = worker->get_status())==RUNNING) ;
+       return result;
+}
+
 
 InternalTask::Worker::Worker():
        status(RUNNING)