Represents a non-agile event. EventSource member functions add, remove, and invoke event handlers. For agile events, use AgileEventSource.
template<typename TDelegateInterface> class EventSource;
The interface to a delegate that represents an event handler.
|EventSource::EventSource Constructor||Initializes a new instance of the EventSource class.|
|EventSource::Add Method||Appends the event handler represented by the specified delegate interface to the set of event handlers for the current EventSource object.|
|EventSource::GetSize Method||Retrieves the number of event handlers associated with the current EventSource object|
|EventSource::InvokeAll Method||Calls each event handler associated with the current EventSource object using the specified argument types and arguments.|
|EventSource::Remove Method||Deletes the event handler represented by the specified event registration token from the set of event handlers associated with the current EventSource object.|
Protected Data Members
|EventSource::addRemoveLock_ Data Member||Synchronizes access to the targets_ array when adding, removing, or invoking event handlers.|
|EventSource::targets_ Data Member||An array of one or more event handlers.|
|EventSource::targetsPointerLock_ Data Member||Synchronizes access to internal data members even while event handlers for this EventSource are being added, removed, or invoked.|