Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
nw4hbm::snd::detail::SoundThread Class Reference

#include <SoundThread.h>

+ Collaboration diagram for nw4hbm::snd::detail::SoundThread:

Classes

class  Callback
 

Public Types

typedef ut::LinkList< Callback, offsetof(Callback, mLink)> CallbackList
 

Public Member Functions

bool Create (s32 priority)
 
BOOL Shutdown ()
 
OSMutexGetSoundMutex ()
 

Static Public Member Functions

static SoundThreadGetInstance ()
 

Private Types

enum  ThreadMessage { MSG_NONE = 0 , MSG_AX_CALLBACK , MSG_SHUTDOWN }
 
typedef enum nw4hbm::snd::detail::SoundThread::ThreadMessage ThreadMessage
 

Private Member Functions

 SoundThread ()
 
 ~SoundThread ()
 
void SoundThreadProc ()
 
void Lock ()
 
void Unlock ()
 

Static Private Member Functions

static void AxCallback ()
 
static void * SoundThreadFunc (void *arg)
 

Private Attributes

OSThread mThread
 
u64 mThreadStack [THREAD_STACK_SIZE]
 
OSThreadQueue mThreadQueue
 
OSMutex mMutex
 
OSMessageQueue mMsgQueue
 
OSMessage mMsgBuffer [MSG_QUEUE_CAPACITY]
 
AxManager::CallbackListNode mAxCallbackNode
 
CallbackList mCallbackList
 
u32 mProcessTick
 
bool mCreateFlag
 

Static Private Attributes

static const int MSG_QUEUE_CAPACITY = 8
 

Member Typedef Documentation

◆ CallbackList

◆ ThreadMessage

Member Enumeration Documentation

◆ ThreadMessage

Enumerator
MSG_NONE 
MSG_AX_CALLBACK 
MSG_SHUTDOWN 

Constructor & Destructor Documentation

◆ SoundThread()

nw4hbm::snd::detail::SoundThread::SoundThread ( )
inlineprivate

◆ ~SoundThread()

nw4hbm::snd::detail::SoundThread::~SoundThread ( )
inlineprivate

Member Function Documentation

◆ AxCallback()

static void nw4hbm::snd::detail::SoundThread::AxCallback ( )
staticprivate

◆ Create()

bool nw4hbm::snd::detail::SoundThread::Create ( s32 priority)

◆ GetInstance()

static SoundThread & nw4hbm::snd::detail::SoundThread::GetInstance ( )
static

◆ GetSoundMutex()

OSMutex & nw4hbm::snd::detail::SoundThread::GetSoundMutex ( )
inline

◆ Lock()

void nw4hbm::snd::detail::SoundThread::Lock ( )
inlineprivate

◆ Shutdown()

BOOL nw4hbm::snd::detail::SoundThread::Shutdown ( )

◆ SoundThreadFunc()

static void * nw4hbm::snd::detail::SoundThread::SoundThreadFunc ( void * arg)
staticprivate

◆ SoundThreadProc()

void nw4hbm::snd::detail::SoundThread::SoundThreadProc ( )
private

◆ Unlock()

void nw4hbm::snd::detail::SoundThread::Unlock ( )
inlineprivate

Member Data Documentation

◆ mAxCallbackNode

AxManager::CallbackListNode nw4hbm::snd::detail::SoundThread::mAxCallbackNode
private

◆ mCallbackList

CallbackList nw4hbm::snd::detail::SoundThread::mCallbackList
private

◆ mCreateFlag

bool nw4hbm::snd::detail::SoundThread::mCreateFlag
private

◆ mMsgBuffer

OSMessage nw4hbm::snd::detail::SoundThread::mMsgBuffer[MSG_QUEUE_CAPACITY]
private

◆ mMsgQueue

OSMessageQueue nw4hbm::snd::detail::SoundThread::mMsgQueue
private

◆ mMutex

OSMutex nw4hbm::snd::detail::SoundThread::mMutex
mutableprivate

◆ mProcessTick

u32 nw4hbm::snd::detail::SoundThread::mProcessTick
private

◆ MSG_QUEUE_CAPACITY

const int nw4hbm::snd::detail::SoundThread::MSG_QUEUE_CAPACITY = 8
staticprivate

◆ mThread

OSThread nw4hbm::snd::detail::SoundThread::mThread
private

◆ mThreadQueue

OSThreadQueue nw4hbm::snd::detail::SoundThread::mThreadQueue
private

◆ mThreadStack

u64 nw4hbm::snd::detail::SoundThread::mThreadStack[THREAD_STACK_SIZE]
private

The documentation for this class was generated from the following file: