LiteLoaderBDS-1.16.40/LiteLoader/Header/MC/TaskGroup.hpp
2022-09-21 19:47:03 +08:00

46 lines
1.8 KiB
C++

// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "../Global.h"
#include "Bedrock.hpp"
#define BEFORE_EXTRA
#undef BEFORE_EXTRA
class TaskGroup {
#define AFTER_EXTRA
#undef AFTER_EXTRA
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_TASKGROUP
public:
class TaskGroup& operator=(class TaskGroup const &) = delete;
TaskGroup(class TaskGroup const &) = delete;
TaskGroup() = delete;
#endif
public:
/*0*/ virtual ~TaskGroup();
/*1*/ virtual void taskRegister(class std::shared_ptr<class BackgroundTask>);
/*2*/ virtual void requeueTask(class std::shared_ptr<class BackgroundTask>, bool);
/*3*/ virtual enum TaskGroupState getState() const;
/*4*/ virtual void processCoroutines();
/*5*/ virtual void taskComplete(class gsl::not_null<class BackgroundTask *>);
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_TASKGROUP
#endif
MCAPI TaskGroup(class WorkerPool &, class Scheduler &, std::string);
MCAPI void flush(class std::function<void (void)>);
MCAPI bool isEmpty() const;
MCAPI class std::shared_ptr<class Bedrock::Threading::IAsyncResult<void>> queue(struct TaskStartInfo &, class std::function<class TaskResult (void)> &&, class std::function<void (void)> &&);
MCAPI class std::shared_ptr<class Bedrock::Threading::IAsyncResult<void>> queueSync(struct TaskStartInfo &, class std::function<class TaskResult (void)> &&);
MCAPI void sync_DEPRECATED_ASK_TOMMO(class std::function<void (void)>);
//private:
MCAPI void _forAllTasks(class std::unique_lock<class std::mutex> &, class std::function<void (class std::shared_ptr<class BackgroundTask> const &)>);
MCAPI class std::shared_ptr<class Bedrock::Threading::IAsyncResult<void>> _queueInternal(class std::shared_ptr<class BackgroundTask>);
MCAPI static class TaskGroup * getCurrentTaskGroup();
private:
};