11 using t_Callback =
TBOOL( __stdcall* )(
void* a_pCaller,
void* a_pOwner,
void* a_pData );
22 void Execute(
void* pOwner,
void* pData );
25 void* m_pCaller =
TNULL;
36 void Create(
void* a_pOwner );
39 void Throw(
void* a_pData );
49template <
typename Owner,
typename Data = Owner>
63template <
typename Owner,
typename Data,
typename Caller>
#define TREINTERPRETCAST(TYPE, VALUE)
#define TOSHI_NAMESPACE_START
#define TOSHI_NAMESPACE_END
void Connect(TGenericEmitter &a_rEmitter, void *a_pCaller, t_Callback a_pCallback, TINT a_iPriority)
TGenericListener()=default
TBOOL(__stdcall *)(void *a_pCaller, void *a_pOwner, void *a_pData) t_Callback
friend class TGenericEmitter
~TGenericEmitter()=default
void Create(void *a_pOwner)
void Throw(void *a_pData)
const TPriList< TGenericListener > & GetListeners() const
TPriList< TGenericListener > m_Listeners
TPriList< TGenericListener > & GetListeners()
void Create(Owner *owner)
void Connect(TGenericEmitter &a_rEmitter, Caller *a_pCaller, t_CallerCallback a_pCallback, TINT a_iPriority)
TBOOL(__stdcall *)(Caller *a_pCaller, Owner *a_pOwner, Data *a_pData) t_CallerCallback