Files
MaaAssistantArknights/src/MeoAssistant/PackageTask.h
2022-03-30 01:44:44 +08:00

38 lines
1009 B
C++

#pragma once
#include "AbstractTask.h"
#include <queue>
#include <memory>
namespace json
{
class value;
}
namespace asst
{
class PackageTask : public AbstractTask
{
public:
using AbstractTask::AbstractTask;
virtual ~PackageTask() = default;
virtual bool run() override;
virtual bool set_params([[maybe_unused]] const json::value& params) { return true; }
virtual AbstractTask& set_exit_flag(bool* exit_flag) noexcept override;
virtual AbstractTask& set_retry_times(int times) noexcept override;
virtual AbstractTask& set_ctrler(std::shared_ptr<Controller> ctrler) noexcept override;
virtual AbstractTask& set_status(std::shared_ptr<RuntimeStatus> status) noexcept override;
virtual AbstractTask& set_task_id(int task_id) noexcept override;
protected:
virtual bool _run() override { return true; }
bool m_runned = false;
std::vector<std::shared_ptr<AbstractTask>> m_subtasks;
};
}