aboutsummaryrefslogtreecommitdiff
path: root/launcher/tasks/MultipleOptionsTask.h
blob: 7c508b00a83eae9f54135895ce16f632ecea96df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#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 = "");
    virtual ~MultipleOptionsTask() = default;

private
slots:
    void startNext() override;
    void subTaskFailed(const QString &msg) override;
};