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

#include <seadDelegateThread.h>

Inherits sead::Thread.

Public Member Functions

 DelegateThread (const SafeString &name, IDelegate2< Thread *, MessageQueue::Element > *delegate, Heap *heap, s32 priority=cDefaultPriority, MessageQueue::BlockType block_type=cDefaultBlockType, MessageQueue::Element quit_msg=cDefaultQuitMsg, s32 stack_size=cDefaultStackSize, s32 msg_queue_size=cDefaultMsgQueueSize)
virtual ~DelegateThread ()
Public Member Functions inherited from sead::Thread
 Thread (const SafeString &name, Heap *heap, s32 priority=cDefaultPriority, MessageQueue::BlockType block_type=cDefaultBlockType, MessageQueue::Element quit_msg=cDefaultQuitMsg, s32 stack_size=cDefaultStackSize, s32 msg_queue_size=cDefaultMsgQueueSize)
virtual ~Thread ()
virtual void destroy ()
virtual bool sendMessage (MessageQueue::Element, MessageQueue::BlockType)
virtual MessageQueue::Element recvMessage (MessageQueue::BlockType)
virtual bool start ()
virtual void quit (bool)
bool isDone () const
virtual void waitDone ()
virtual void quitAndDestroySingleThread (bool is_jam)
virtual void quitAndWaitDoneSingleThread (bool is_jam)
u32 getID () const
HeapgetCurrentHeap () const
virtual void setPriority (s32)
virtual s32 getPriority () const
virtual MessageQueue::BlockType getBlockType () const
virtual s32 getStackSize () const
virtual s32 calcStackUsedSizePeak () const
void checkStackOverFlow ()
const CoreIdMaskgetAffinity () const
void setAffinity (const CoreIdMask &)
void * getStackTop () const
void * getStackBottom () const
s32 getState () const
MessageQueue::Element getQuitMsg () const
Public Member Functions inherited from sead::IDisposer
 IDisposer ()
virtual ~IDisposer ()
Public Member Functions inherited from sead::INamable
 INamable ()
 INamable (const SafeString &name)
void setName (const SafeString &name)
const SafeStringgetName () const

Protected Member Functions

virtual void calc_ (MessageQueue::Element msg)
Protected Member Functions inherited from sead::Thread
 Thread (Heap *, OSThread *)
ThreadListNodegetListNode ()
void setCurrentHeap_ (Heap *)
void run_ ()
void initStackCheck_ ()
virtual u32 * getStackCheckStartAddress_ () const

Protected Attributes

IDelegate2< Thread *, MessageQueue::Element > * mDelegate
Protected Attributes inherited from sead::Thread
MessageQueue mMessageQueue
s32 mStackSize
ThreadListNode mListNode
HeapmCurrentHeap
MessageQueue::BlockType mBlockType
MessageQueue::Element mQuitMsg
u32 mID
s32 mState [1]
u32 mCoreIdMask
OSThread * mThreadInner
u8 * mStackTop
s32 mPriority

Additional Inherited Members

Static Public Member Functions inherited from sead::Thread
static void sleep (TickSpan span)
static void yield ()
Static Public Attributes inherited from sead::Thread
static const s32 cDefaultSeadPriority = 16
static const s32 cDefaultPriority
static const MessageQueue::BlockType cDefaultBlockType = MessageQueue::cNoBlock
static const MessageQueue::Element cDefaultQuitMsg = 0x7fffffff
static const s32 cDefaultStackSize = 4 * 1024
static const s32 cDefaultMsgQueueSize = 32
Static Protected Member Functions inherited from sead::Thread
static void cafeThreadFunc_ (void *)

Constructor & Destructor Documentation

◆ DelegateThread()

sead::DelegateThread::DelegateThread ( const SafeString & name,
IDelegate2< Thread *, MessageQueue::Element > * delegate,
Heap * heap,
s32 priority = cDefaultPriority,
MessageQueue::BlockType block_type = cDefaultBlockType,
MessageQueue::Element quit_msg = cDefaultQuitMsg,
s32 stack_size = cDefaultStackSize,
s32 msg_queue_size = cDefaultMsgQueueSize )

◆ ~DelegateThread()

virtual sead::DelegateThread::~DelegateThread ( )
virtual

Member Function Documentation

◆ calc_()

virtual void sead::DelegateThread::calc_ ( MessageQueue::Element msg)
protectedvirtual

Implements sead::Thread.

Member Data Documentation

◆ mDelegate

IDelegate2<Thread*, MessageQueue::Element>* sead::DelegateThread::mDelegate
protected