sead::TaskBase class

Base classes

template<typename T>
class TTreeNode<TaskBase*>
class IDisposer
class INamable

Derived classes

class CalculateTask
class Task

Public types

struct CreateArg
enum State { cCreated = 0, cPrepare = 1, cPrepareDone = 2, cSleep = 3, cRunning = 4, cDying = 5, cDestroyable = 6, cDead = 7 }
enum Tag { cSystem = 0, cApp = 1 }
using ListNode = TListNode<TaskBase*>
using List = TList<TaskBase*>
enum class HeapNullOption { AlwaysUseSpecifiedHeap = 0, UseSpecifiedOrContainHeap = 1, DoNotAppendDisposerIfNoHeapSpecified = 2, UseSpecifiedOrCurrentHeap = 3 }

Public static functions

static auto getListNodeOffset() -> u32

Constructors, destructors, conversion operators

TaskBase(const TaskConstructArg& arg) explicit
TaskBase(const TaskConstructArg& arg, const char* name)
~TaskBase() virtual

Public functions

void pauseCalc(bool b) pure virtual
void pauseDraw(bool b) pure virtual
void pauseCalcRec(bool b) pure virtual
void pauseDrawRec(bool b) pure virtual
void pauseCalcChild(bool b) virtual
void pauseDrawChild(bool b) virtual
void prepare() virtual
void enterCommon() virtual
void enter() virtual
void exit() virtual
void onEvent(const TaskEvent&) virtual
void attachCalcImpl() pure virtual
void attachDrawImpl() pure virtual
void detachCalcImpl() pure virtual
void detachDrawImpl() pure virtual
auto getCorrespondingMethodTreeMgrTypeInfo() const -> const RuntimeTypeInfo::Interface* pure virtual
auto getMethodTreeNode(s32 method_type) -> MethodTreeNode* pure virtual
void onDestroy() virtual
auto getFramework() const -> DelegateThread*
auto value() -> TaskBase*&
auto value() const -> const TaskBase*&
auto parent() const -> TTreeNode*
auto child() const -> TTreeNode*
auto next() const -> TTreeNode*
auto prev() const -> TTreeNode*
auto findRoot() -> TTreeNode*
auto findRoot() const -> const TTreeNode*
auto findRoot() const -> const TreeNode*
void insertAfterSelf(TTreeNode* node)
void insertAfterSelf(TreeNode* node)
void insertBeforeSelf(TTreeNode* node)
void insertBeforeSelf(TreeNode* node)
void pushBackChild(TTreeNode* node)
void pushBackChild(TreeNode* node)
void pushBackSibling(TTreeNode* node)
void pushBackSibling(TreeNode* node)
void pushFrontChild(TTreeNode* node)
void pushFrontChild(TreeNode* node)
void clearLinks()
auto countChildren() const -> s32
void detachAll()
void detachSubTree()
auto getName() const -> const SafeString&
void setName(const SafeString& name)

Public variables

TaskParameter* mParameter
BitFlag32 mInternalFlag
ListNode mTaskListNode
HeapArray mHeapArray
TaskMgr* mTaskMgr
State mState
Tag mTag
TaskClassID mClassID

Protected functions

void clearChildLinksRecursively_()
auto getDisposerHeap_() const -> Heap*

Protected variables

TaskBase* mData
TreeNode* mParent
TreeNode* mChild
TreeNode* mNext
TreeNode* mPrev

Enum documentation

enum class sead::TaskBase::HeapNullOption

Function documentation

static u32 sead::TaskBase::getListNodeOffset()

TaskBase*& sead::TaskBase::value()

const TaskBase*& sead::TaskBase::value() const

TTreeNode* sead::TaskBase::parent() const

TTreeNode* sead::TaskBase::child() const

TTreeNode* sead::TaskBase::next() const

TTreeNode* sead::TaskBase::prev() const

TTreeNode* sead::TaskBase::findRoot()

const TTreeNode* sead::TaskBase::findRoot() const

const TreeNode* sead::TaskBase::findRoot() const

void sead::TaskBase::insertAfterSelf(TTreeNode* node)

void sead::TaskBase::insertAfterSelf(TreeNode* node)

void sead::TaskBase::insertBeforeSelf(TTreeNode* node)

void sead::TaskBase::insertBeforeSelf(TreeNode* node)

void sead::TaskBase::pushBackChild(TTreeNode* node)

void sead::TaskBase::pushBackChild(TreeNode* node)

void sead::TaskBase::pushBackSibling(TTreeNode* node)

void sead::TaskBase::pushBackSibling(TreeNode* node)

void sead::TaskBase::pushFrontChild(TTreeNode* node)

void sead::TaskBase::pushFrontChild(TreeNode* node)

void sead::TaskBase::clearLinks()

s32 sead::TaskBase::countChildren() const

void sead::TaskBase::detachAll()

void sead::TaskBase::detachSubTree()

const SafeString& sead::TaskBase::getName() const

void sead::TaskBase::setName(const SafeString& name)

void sead::TaskBase::clearChildLinksRecursively_() protected

Heap* sead::TaskBase::getDisposerHeap_() const protected

Variable documentation

TaskBase* sead::TaskBase::mData protected

TreeNode* sead::TaskBase::mParent protected

TreeNode* sead::TaskBase::mChild protected

TreeNode* sead::TaskBase::mNext protected

TreeNode* sead::TaskBase::mPrev protected