3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/threading/TaskRunResult.h"
7#include "mc/resources/TaskGroupState.h"
16class BackgroundTaskBase {
26 class CurrentTaskAutoScope {
35 CurrentTaskAutoScope& operator=(CurrentTaskAutoScope
const&);
36 CurrentTaskAutoScope(CurrentTaskAutoScope
const&);
37 CurrentTaskAutoScope();
50 MCNAPI
void*
$ctor(::BackgroundTaskBase* curr);
65 ::std::shared_ptr<::BackgroundTaskBase>
const& lhs,
66 ::std::shared_ptr<::BackgroundTaskBase>
const& rhs
90 BackgroundTaskBase& operator=(BackgroundTaskBase
const&);
91 BackgroundTaskBase(BackgroundTaskBase
const&);
97 virtual ~BackgroundTaskBase();
99 virtual void cancel() = 0;
101 virtual bool isReady()
const = 0;
122 MCNAPI ::std::shared_ptr<::BackgroundTaskBase>
getNext();
136 MCNAPI
void setNext(::std::shared_ptr<::BackgroundTaskBase> next);
138 MCNAPI
void setPrev(::BackgroundTaskBase* prev);
Definition BackgroundTaskBase.h:26
MCAPI void * $ctor(::BackgroundTaskBase *curr)
MCAPI CurrentTaskAutoScope(::BackgroundTaskBase *curr)
MCAPI ~CurrentTaskAutoScope()
Definition BackgroundTaskBase.h:60
MCAPI bool operator()(::std::shared_ptr<::BackgroundTaskBase > const &lhs, ::std::shared_ptr<::BackgroundTaskBase > const &rhs) const
Definition BackgroundTaskBase.h:71
MCAPI::TaskGroupState getGroupState() const
MCAPI bool isReadyToStart(::std::chrono::steady_clock::time_point t) const
MCAPI void backDownPriority()
MCAPI void setStartAfterTime(::std::chrono::steady_clock::time_point t)
static MCAPI void ** $vftable()
MCAPI void * $ctor(::gsl::not_null<::IBackgroundTaskOwner * > group, ::TaskStartInfo const &startInfo, bool isAsync)
static MCAPI ::BackgroundTaskBase *& gCurrentTask()
static MCAPI ::BackgroundTaskBase * getCurrent()
MCAPI ::std::shared_ptr<::BackgroundTaskBase > getNext()
MCAPI::BackgroundTaskBase * getPrev()
MCAPI void setPrev(::BackgroundTaskBase *prev)
MCAPI bool hasAffinity() const
MCAPI BackgroundTaskBase(::gsl::not_null<::IBackgroundTaskOwner * > group, ::TaskStartInfo const &startInfo, bool isAsync)
MCAPI bool isOrphaned() const
MCAPI void taskComplete()
MCAPI bool isAsync() const
MCAPI::std::chrono::steady_clock::time_point getStartAfterTime() const
MCAPI void setSyncPriority()
MCAPI void setNext(::std::shared_ptr<::BackgroundTaskBase > next)
MCAPI bool canBeRunBy(::std::thread::id workerId) const
MCAPI::IBackgroundTaskOwner * getGroup()
Definition IBackgroundTaskOwner.h:17
Definition ITaskExecutionContext.h:5
Definition TaskStartInfo.h:5