sead
Loading...
Searching...
No Matches
sead::TaskMgr Class Reference

#include <seadTaskMgr.h>

Inherits sead::hostio::Node.

Classes

struct  InitializeArg

Public Member Functions

 TaskMgr (const InitializeArg &arg)
void finalize ()
FrameworkgetFramework () const
HeapgetHeap ()
TaskBasegetRootTask () const
TaskBasecreateTaskSync (const TaskBase::CreateArg &arg)
template<typename T>
T * createSingletonTaskSync (const TaskBase::CreateArg &arg)
bool requestCreateTask (const TaskBase::CreateArg &arg)
bool requestTakeover (const TaskBase::TakeoverArg &arg)
bool requestTransition (TaskBase *from, TaskBase *to, FaderTaskBase *fader)
bool requestPush (const TaskBase::PushArg &arg)
TaskBasepushSync (const TaskBase::PushArg &arg)
bool requestPop (TaskBase *pop_task, FaderTaskBase *fader)
bool popSync (TaskBase *pop_task)
bool requestPop (TaskBase *pop_task, TaskBase *to_task, FaderTaskBase *fader)
void destroyTaskSync (TaskBase *task)
void requestDestroyTask (TaskBase *task, FaderTaskBase *fader)
void destroyAllAndCreateRoot ()
TaskBasefindTask (const TaskClassID &classID)
void beforeCalc ()
void afterCalc ()

Static Public Member Functions

static TaskMgrinitialize (const InitializeArg &arg)

Private Member Functions

void doInit_ ()
void beginCreateRootTask_ ()
void createHeap_ (HeapArray *ha, const TaskBase::CreateArg &arg)
TaskBasedoCreateTask_ (const TaskBase::CreateArg &arg, HeapArray *ha)
bool doRequestCreateTask_ (const TaskBase::CreateArg &arg, DelegateEvent< TaskBase * >::Slot *system_slot)
void appendToList_ (TaskBase::List &ls, TaskBase *task)
bool changeTaskState_ (TaskBase *task, TaskBase::State state)
void prepare_ (Thread *, s32 msg)
bool destroyable_ (TaskBase *task)
void doDestroyTask_ (TaskBase *task)
void calcCreation_ ()
void calcDestruction_ ()

Private Attributes

CriticalSection mCriticalSection
FrameworkmParentFramework
DelegateThreadmPrepareThread
NullFaderTask * mNullFaderTask
TaskBase::List mPrepareList
TaskBase::List mPrepareDoneList
TaskBase::List mActiveList
TaskBase::List mStaticList
TaskBase::List mDyingList
TaskBase::List mDestroyableList
HeapArray mHeapArray
TaskCreateContextMgr * mTaskCreateContextMgr
u32 mMaxCreateQueueSize
TaskBasemRootTask
TaskBase::CreateArg mRootTaskCreateArg
TaskMgr::InitializeArg mInitializeArg
MethodTreeNode mCalcDestructionTreeNode
u32 _1a0
u32 _1a4

Constructor & Destructor Documentation

◆ TaskMgr()

sead::TaskMgr::TaskMgr ( const InitializeArg & arg)

Member Function Documentation

◆ initialize()

TaskMgr * sead::TaskMgr::initialize ( const InitializeArg & arg)
static

◆ finalize()

void sead::TaskMgr::finalize ( )

◆ getFramework()

Framework * sead::TaskMgr::getFramework ( ) const
inline

◆ getHeap()

Heap * sead::TaskMgr::getHeap ( )
inline

◆ getRootTask()

TaskBase * sead::TaskMgr::getRootTask ( ) const
inline

◆ doInit_()

void sead::TaskMgr::doInit_ ( )
private

◆ beginCreateRootTask_()

void sead::TaskMgr::beginCreateRootTask_ ( )
private

◆ createHeap_()

void sead::TaskMgr::createHeap_ ( HeapArray * ha,
const TaskBase::CreateArg & arg )
private

◆ createTaskSync()

TaskBase * sead::TaskMgr::createTaskSync ( const TaskBase::CreateArg & arg)

◆ createSingletonTaskSync()

template<typename T>
T * sead::TaskMgr::createSingletonTaskSync ( const TaskBase::CreateArg & arg)

◆ doCreateTask_()

TaskBase * sead::TaskMgr::doCreateTask_ ( const TaskBase::CreateArg & arg,
HeapArray * ha )
private

◆ requestCreateTask()

bool sead::TaskMgr::requestCreateTask ( const TaskBase::CreateArg & arg)

◆ doRequestCreateTask_()

bool sead::TaskMgr::doRequestCreateTask_ ( const TaskBase::CreateArg & arg,
DelegateEvent< TaskBase * >::Slot * system_slot )
private

◆ appendToList_()

void sead::TaskMgr::appendToList_ ( TaskBase::List & ls,
TaskBase * task )
private

◆ changeTaskState_()

bool sead::TaskMgr::changeTaskState_ ( TaskBase * task,
TaskBase::State state )
private

◆ requestTakeover()

bool sead::TaskMgr::requestTakeover ( const TaskBase::TakeoverArg & arg)

◆ requestTransition()

bool sead::TaskMgr::requestTransition ( TaskBase * from,
TaskBase * to,
FaderTaskBase * fader )

◆ requestPush()

bool sead::TaskMgr::requestPush ( const TaskBase::PushArg & arg)

◆ pushSync()

TaskBase * sead::TaskMgr::pushSync ( const TaskBase::PushArg & arg)

◆ requestPop() [1/2]

bool sead::TaskMgr::requestPop ( TaskBase * pop_task,
FaderTaskBase * fader )

◆ popSync()

bool sead::TaskMgr::popSync ( TaskBase * pop_task)

◆ requestPop() [2/2]

bool sead::TaskMgr::requestPop ( TaskBase * pop_task,
TaskBase * to_task,
FaderTaskBase * fader )

◆ prepare_()

void sead::TaskMgr::prepare_ ( Thread * ,
s32 msg )
private

◆ destroyTaskSync()

void sead::TaskMgr::destroyTaskSync ( TaskBase * task)

◆ requestDestroyTask()

void sead::TaskMgr::requestDestroyTask ( TaskBase * task,
FaderTaskBase * fader )

◆ destroyable_()

bool sead::TaskMgr::destroyable_ ( TaskBase * task)
private

◆ doDestroyTask_()

void sead::TaskMgr::doDestroyTask_ ( TaskBase * task)
private

◆ calcCreation_()

void sead::TaskMgr::calcCreation_ ( )
private

◆ calcDestruction_()

void sead::TaskMgr::calcDestruction_ ( )
private

◆ destroyAllAndCreateRoot()

void sead::TaskMgr::destroyAllAndCreateRoot ( )

◆ findTask()

TaskBase * sead::TaskMgr::findTask ( const TaskClassID & classID)

◆ beforeCalc()

void sead::TaskMgr::beforeCalc ( )

◆ afterCalc()

void sead::TaskMgr::afterCalc ( )

Member Data Documentation

◆ mCriticalSection

CriticalSection sead::TaskMgr::mCriticalSection
private

◆ mParentFramework

Framework* sead::TaskMgr::mParentFramework
private

◆ mPrepareThread

DelegateThread* sead::TaskMgr::mPrepareThread
private

◆ mNullFaderTask

NullFaderTask* sead::TaskMgr::mNullFaderTask
private

◆ mPrepareList

TaskBase::List sead::TaskMgr::mPrepareList
private

◆ mPrepareDoneList

TaskBase::List sead::TaskMgr::mPrepareDoneList
private

◆ mActiveList

TaskBase::List sead::TaskMgr::mActiveList
private

◆ mStaticList

TaskBase::List sead::TaskMgr::mStaticList
private

◆ mDyingList

TaskBase::List sead::TaskMgr::mDyingList
private

◆ mDestroyableList

TaskBase::List sead::TaskMgr::mDestroyableList
private

◆ mHeapArray

HeapArray sead::TaskMgr::mHeapArray
private

◆ mTaskCreateContextMgr

TaskCreateContextMgr* sead::TaskMgr::mTaskCreateContextMgr
private

◆ mMaxCreateQueueSize

u32 sead::TaskMgr::mMaxCreateQueueSize
private

◆ mRootTask

TaskBase* sead::TaskMgr::mRootTask
private

◆ mRootTaskCreateArg

TaskBase::CreateArg sead::TaskMgr::mRootTaskCreateArg
private

◆ mInitializeArg

TaskMgr::InitializeArg sead::TaskMgr::mInitializeArg
private

◆ mCalcDestructionTreeNode

MethodTreeNode sead::TaskMgr::mCalcDestructionTreeNode
private

◆ _1a0

u32 sead::TaskMgr::_1a0
private

◆ _1a4

u32 sead::TaskMgr::_1a4
private