RootTask class

Base classes

class sead::Task

Public types

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

RootTask(const sead::TaskConstructArg& constructArg)

Public functions

void enter() override
void draw() override
void calc() override
void prepare() override
void pauseCalc(bool b) override
void pauseDraw(bool b) override
void pauseCalcRec(bool b) override
void pauseDrawRec(bool b) override
void pauseCalcChild(bool b) override
void pauseDrawChild(bool b) override
void attachCalcImpl() override
void attachDrawImpl() override
void detachCalcImpl() override
void detachDrawImpl() override
auto getCorrespondingMethodTreeMgrTypeInfo() const -> const RuntimeTypeInfo::Interface* override
auto getMethodTreeNode(s32 method_type) -> MethodTreeNode* override
void enterCommon() virtual
void exit() virtual
void onEvent(const TaskEvent&) 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

MethodTreeNode mCalcNode
MethodTreeNode mDrawNode
TaskBase* mData
TreeNode* mParent
TreeNode* mChild
TreeNode* mNext
TreeNode* mPrev

Enum documentation

enum RootTask::State

enum RootTask::Tag

enum class RootTask::HeapNullOption

Typedef documentation

typedef TListNode<TaskBase*> RootTask::ListNode

typedef TList<TaskBase*> RootTask::List

Function documentation

static u32 RootTask::getListNodeOffset()

void RootTask::pauseCalc(bool b) override

void RootTask::pauseDraw(bool b) override

void RootTask::pauseCalcRec(bool b) override

void RootTask::pauseDrawRec(bool b) override

void RootTask::pauseCalcChild(bool b) override

void RootTask::pauseDrawChild(bool b) override

void RootTask::attachCalcImpl() override

void RootTask::attachDrawImpl() override

void RootTask::detachCalcImpl() override

void RootTask::detachDrawImpl() override

const RuntimeTypeInfo::Interface* RootTask::getCorrespondingMethodTreeMgrTypeInfo() const override

MethodTreeNode* RootTask::getMethodTreeNode(s32 method_type) override

void RootTask::enterCommon() virtual

void RootTask::exit() virtual

void RootTask::onEvent(const TaskEvent&) virtual

void RootTask::onDestroy() virtual

DelegateThread* RootTask::getFramework() const

TaskBase*& RootTask::value()

const TaskBase*& RootTask::value() const

TTreeNode* RootTask::parent() const

TTreeNode* RootTask::child() const

TTreeNode* RootTask::next() const

TTreeNode* RootTask::prev() const

const TTreeNode* RootTask::findRoot() const

const TreeNode* RootTask::findRoot() const

void RootTask::insertAfterSelf(TTreeNode* node)

void RootTask::insertAfterSelf(TreeNode* node)

void RootTask::insertBeforeSelf(TTreeNode* node)

void RootTask::insertBeforeSelf(TreeNode* node)

void RootTask::pushBackChild(TTreeNode* node)

void RootTask::pushBackChild(TreeNode* node)

void RootTask::pushBackSibling(TTreeNode* node)

void RootTask::pushBackSibling(TreeNode* node)

void RootTask::pushFrontChild(TTreeNode* node)

void RootTask::pushFrontChild(TreeNode* node)

void RootTask::clearLinks()

s32 RootTask::countChildren() const

void RootTask::detachAll()

void RootTask::detachSubTree()

const SafeString& RootTask::getName() const

void RootTask::setName(const SafeString& name)

void RootTask::clearChildLinksRecursively_() protected

Heap* RootTask::getDisposerHeap_() const protected

Variable documentation

TaskParameter* RootTask::mParameter

BitFlag32 RootTask::mInternalFlag

HeapArray RootTask::mHeapArray

TaskMgr* RootTask::mTaskMgr

Tag RootTask::mTag

TaskClassID RootTask::mClassID

MethodTreeNode RootTask::mCalcNode protected

MethodTreeNode RootTask::mDrawNode protected

TaskBase* RootTask::mData protected

TreeNode* RootTask::mParent protected

TreeNode* RootTask::mChild protected

TreeNode* RootTask::mNext protected

TreeNode* RootTask::mPrev protected