1#ifndef SEAD_METHODTREE_H_
2#define SEAD_METHODTREE_H_
4#include <container/seadTreeNode.h>
5#include <heap/seadDisposer.h>
6#include <prim/seadBitFlag.h>
7#include <prim/seadDelegate.h>
8#include <prim/seadNamable.h>
9#include <prim/seadRuntimeTypeInfo.h>
31
32
33
34
35
36
37
38
39
40
41
50 if (parent() !=
nullptr)
51 return parent()->val();
58 if (child() !=
nullptr)
59 return child()->val();
66 if (next() !=
nullptr)
99static_assert(
sizeof(
MethodTreeNode) == 0x54,
"sead::MethodTreeNode size mismatch");
Definition seadCriticalSection.h:13
Definition seadDelegate.h:433
Definition seadDisposer.h:12
Definition seadNamable.h:9
Definition seadMethodTree.h:17
MethodTreeNode * getChild() const
Definition seadMethodTree.h:56
void * mUserID
Definition seadMethodTree.h:96
void setPauseFlag(PauseFlag f)
Definition seadMethodTree.h:79
MethodTreeNode(CriticalSection *cs)
BitFlag32 mPauseFlag
Definition seadMethodTree.h:94
u32 data_[4]
Definition seadMethodTree.h:91
MethodTreeNode * getParent() const
Definition seadMethodTree.h:48
void unlock_()
Definition seadMethodTree.cpp:41
PauseEventDelegate * mPauseEventDelegate
Definition seadMethodTree.h:95
u32 mPriority
Definition seadMethodTree.h:93
IDelegate2< MethodTreeNode *, PauseFlag > PauseEventDelegate
Definition seadMethodTree.h:89
void lock_()
Definition seadMethodTree.cpp:35
CriticalSection * mCriticalSection
Definition seadMethodTree.h:92
virtual ~MethodTreeNode()
Definition seadMethodTree.h:43
MethodTreeNode * getNext() const
Definition seadMethodTree.h:64
void detachAll()
Definition seadMethodTree.cpp:22
PauseFlag
Definition seadMethodTree.h:22
@ cPause_None
Definition seadMethodTree.h:23
@ cPause_Child
Definition seadMethodTree.h:25
@ cPause_Both
Definition seadMethodTree.h:26
@ cPause_Self
Definition seadMethodTree.h:24
void attachMutexRec_(CriticalSection *m) const
Definition seadMethodTree.cpp:7
Definition seadAssert.h:44
BitFlag< u32 > BitFlag32
Definition seadBitFlag.h:125
#define SEAD_RTTI_BASE(CLASS)
Definition seadRuntimeTypeInfo.h:75