summaryrefslogtreecommitdiffstats
path: root/api/logic/launch/LaunchTask.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'api/logic/launch/LaunchTask.cpp')
-rw-r--r--api/logic/launch/LaunchTask.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/api/logic/launch/LaunchTask.cpp b/api/logic/launch/LaunchTask.cpp
index ea4ed43e..8d9596ec 100644
--- a/api/logic/launch/LaunchTask.cpp
+++ b/api/logic/launch/LaunchTask.cpp
@@ -150,6 +150,26 @@ void LaunchTask::proceed()
m_steps[currentStep]->proceed();
}
+bool LaunchTask::canAbort() const
+{
+ switch(state)
+ {
+ case LaunchTask::Aborted:
+ case LaunchTask::Failed:
+ case LaunchTask::Finished:
+ return false;
+ case LaunchTask::NotStarted:
+ return true;
+ case LaunchTask::Running:
+ case LaunchTask::Waiting:
+ {
+ auto step = m_steps[currentStep];
+ return step->canAbort();
+ }
+ }
+ return false;
+}
+
bool LaunchTask::abort()
{
switch(state)