OpenBarnyard
 
Loading...
Searching...
No Matches
TGenericEmitter Class Reference

#include <TEvent.h>

Inheritance diagram for TGenericEmitter:
TEmitter< TInputInterface, TInputInterface::InputEvent > TEmitter< TSystemManager, TBOOL > TEmitter< TUtil, TUtil::LogEvent > TEmitter< Owner, Data >

Public Member Functions

 TGenericEmitter ()
 
 TGenericEmitter (void *a_pOwner)
 
 ~TGenericEmitter ()=default
 
void Create (void *a_pOwner)
 
void Destroy ()
 
void Throw (void *a_pData)
 
TPriList< TGenericListener > & GetListeners ()
 
const TPriList< TGenericListener > & GetListeners () const
 

Public Attributes

TPriList< TGenericListenerm_Listeners
 
void * m_pOwner
 

Detailed Description

Definition at line 29 of file TEvent.h.

Constructor & Destructor Documentation

◆ TGenericEmitter() [1/2]

TGenericEmitter::TGenericEmitter ( )

Definition at line 72 of file TEvent.cpp.

73{
74 Create( TNULL );
75}
#define TNULL
Definition Typedefs.h:23
void Create(void *a_pOwner)
Definition TEvent.cpp:50

◆ TGenericEmitter() [2/2]

TGenericEmitter::TGenericEmitter ( void * a_pOwner)

Definition at line 67 of file TEvent.cpp.

68{
69 Create( a_pOwner );
70}

◆ ~TGenericEmitter()

TGenericEmitter::~TGenericEmitter ( )
default

Member Function Documentation

◆ Create()

void TGenericEmitter::Create ( void * a_pOwner)

Definition at line 50 of file TEvent.cpp.

51{
52 m_pOwner = a_pOwner;
53}
void * m_pOwner
Definition TEvent.h:46

◆ Destroy()

void TGenericEmitter::Destroy ( )

Definition at line 37 of file TEvent.cpp.

38{
39 if ( !m_Listeners.IsEmpty() )
40 {
41 for ( auto it = m_Listeners.Begin(); it != m_Listeners.End(); it++ )
42 {
43 it->Disconnect();
44 }
45 }
46
48}
TPriList< TGenericListener > m_Listeners
Definition TEvent.h:45

◆ GetListeners() [1/2]

TPriList< TGenericListener > & TGenericEmitter::GetListeners ( )
inline

Definition at line 41 of file TEvent.h.

41{ return m_Listeners; }

◆ GetListeners() [2/2]

const TPriList< TGenericListener > & TGenericEmitter::GetListeners ( ) const
inline

Definition at line 42 of file TEvent.h.

42{ return m_Listeners; }

◆ Throw()

void TGenericEmitter::Throw ( void * a_pData)

Definition at line 55 of file TEvent.cpp.

56{
57 auto pListener = m_Listeners.Begin();
58
59 while ( pListener != m_Listeners.End() )
60 {
61 auto pNextListener = pListener->Next();
62 pListener->Execute( m_pOwner, a_pData );
63 pListener = pNextListener;
64 }
65}

Member Data Documentation

◆ m_Listeners

TPriList<TGenericListener> TGenericEmitter::m_Listeners

Definition at line 45 of file TEvent.h.

◆ m_pOwner

void* TGenericEmitter::m_pOwner

Definition at line 46 of file TEvent.h.


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