aboutsummaryrefslogtreecommitdiff
path: root/launcher/tasks/MultipleOptionsTask.h
blob: db7d4d9a4587104e3ec2e89950cbc0cc2b9a7ce6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#pragma once

#include "SequentialTask.h"

/* This task type will attempt to do run each of it's subtasks in sequence,
 * until one of them succeeds. When that happens, the remaining tasks will not run.
 * */
class MultipleOptionsTask : public SequentialTask {
    Q_OBJECT
   public:
    explicit MultipleOptionsTask(QObject* parent = nullptr, const QString& task_name = "");
    ~MultipleOptionsTask() override = default;

   private slots:
    void startNext() override;
    void updateState() override;
};