1#include "thread/seadDelegateThread.h"
2#include "prim/seadDelegate.h"
3
4namespace sead
5{
6DelegateThread::DelegateThread(const SafeString& name,
7 IDelegate2<Thread*, MessageQueue::Element>* delegate, Heap* heap,
8 s32 priority, MessageQueue::BlockType block_type,
9 MessageQueue::Element quit_msg, s32 stack_size,
10 s32 message_queue_size)
11 : Thread(name, heap, priority, block_type, quit_msg, stack_size, message_queue_size),
12 mDelegate(delegate)
13{
14}
15
16DelegateThread::~DelegateThread() = default;
17
18void DelegateThread::calc_(MessageQueue::Element msg)
19{
20 mDelegate->invoke(a1: this, a2: msg);
21}
22} // namespace sead
23