sead::InfLoopChecker class

Base classes

class CalculateTask

Public types

struct InfLoopParam
using InfLoopEvent = DelegateEvent<const InfLoopParam&>
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

InfLoopChecker(const TaskConstructArg& arg) explicit
~InfLoopChecker() override

Public functions

void countUp()
void prepare() override
void calc() override
auto getEvent() -> InfLoopEvent&
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 enter() 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
TaskBase* mData
TreeNode* mParent
TreeNode* mChild
TreeNode* mNext
TreeNode* mPrev

Enum documentation

enum sead::InfLoopChecker::State

enum sead::InfLoopChecker::Tag

enum class sead::InfLoopChecker::HeapNullOption

Typedef documentation

typedef TListNode<TaskBase*> sead::InfLoopChecker::ListNode

typedef TList<TaskBase*> sead::InfLoopChecker::List

Function documentation

static u32 sead::InfLoopChecker::getListNodeOffset()

void sead::InfLoopChecker::pauseCalc(bool b) override

void sead::InfLoopChecker::pauseDraw(bool b) override

void sead::InfLoopChecker::pauseCalcRec(bool b) override

void sead::InfLoopChecker::pauseDrawRec(bool b) override

void sead::InfLoopChecker::pauseCalcChild(bool b) override

void sead::InfLoopChecker::pauseDrawChild(bool b) override

void sead::InfLoopChecker::attachCalcImpl() override

void sead::InfLoopChecker::attachDrawImpl() override

void sead::InfLoopChecker::detachCalcImpl() override

void sead::InfLoopChecker::detachDrawImpl() override

MethodTreeNode* sead::InfLoopChecker::getMethodTreeNode(s32 method_type) override

void sead::InfLoopChecker::enterCommon() virtual

void sead::InfLoopChecker::enter() virtual

void sead::InfLoopChecker::exit() virtual

void sead::InfLoopChecker::onEvent(const TaskEvent&) virtual

void sead::InfLoopChecker::onDestroy() virtual

DelegateThread* sead::InfLoopChecker::getFramework() const

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

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

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

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

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

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

TTreeNode* sead::InfLoopChecker::findRoot()

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

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

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

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

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

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

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

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

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

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

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

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

void sead::InfLoopChecker::clearLinks()

s32 sead::InfLoopChecker::countChildren() const

void sead::InfLoopChecker::detachAll()

void sead::InfLoopChecker::detachSubTree()

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

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

void sead::InfLoopChecker::clearChildLinksRecursively_() protected

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

Variable documentation

TaskParameter* sead::InfLoopChecker::mParameter

BitFlag32 sead::InfLoopChecker::mInternalFlag

ListNode sead::InfLoopChecker::mTaskListNode

HeapArray sead::InfLoopChecker::mHeapArray

TaskMgr* sead::InfLoopChecker::mTaskMgr

State sead::InfLoopChecker::mState

Tag sead::InfLoopChecker::mTag

TaskClassID sead::InfLoopChecker::mClassID

MethodTreeNode sead::InfLoopChecker::mCalcNode protected

TaskBase* sead::InfLoopChecker::mData protected

TreeNode* sead::InfLoopChecker::mParent protected

TreeNode* sead::InfLoopChecker::mChild protected

TreeNode* sead::InfLoopChecker::mNext protected

TreeNode* sead::InfLoopChecker::mPrev protected