struct
TEventControlBlock
template<ThreadSafetyPolicy Policy = ThreadSafe>Internal data for an Event, storing all connections.
Templated on ThreadSafetyPolicy to conditionally include a mutex.
Public
Constructors
TEventControlBlock<Policy>
TEventControlBlock<Policy>() = default
Methods
~TEventControlBlock<Policy>
~TEventControlBlock<Policy>()
Connect
void Connect(EventConnection *connection)
Appends a new connection to the active connection array.
Disconnect
void Disconnect(EventConnection *connection)
Disconnects the connection with the specified data, ensuring the event doesn't call its callback again.
DisconnectAll
void DisconnectAll()
Disconnects all connections in the event.
FreeHandle
void FreeHandle(EventConnection *connection)
Called when the event handle no longer keeps a reference to the connection data.
This means we might be able to free (and reuse) its memory if the event is done with it too.
FreeConnection
void FreeConnection(EventConnection *connection)
Releases connection data and makes it available for re-use when next connection is formed.
Fields
ActiveConnections
EventConnection * ActiveConnections
LastConnection
EventConnection * LastConnection
FreeConnections
EventConnection * FreeConnections
NewConnections
EventConnection * NewConnections
Mutex
MutexType Mutex
IsCurrentlyTriggering
bool IsCurrentlyTriggering