Class DebugEventSource

Inheritance Relationships

Base Type

Class Documentation

class Microsoft::Applications::Events::DebugEventSource : public Microsoft::Applications::Events::DebugEventDispatcher

The DebugEventSource class represents a debug event source.

Public Functions

inline DebugEventSource()

The DebugEventSource constructor.

virtual void AddEventListener(DebugEventType type, DebugEventListener &listener)

Adds an event listener for the specified debug event type.

virtual void RemoveEventListener(DebugEventType type, DebugEventListener &listener)

Removes previously added debug event listener for the specified type.

virtual bool DispatchEvent(DebugEvent evt) override

Dispatches the specified event to a client callback.

virtual bool AttachEventSource(DebugEventSource &other)

Attach cascaded DebugEventSource to forward all events to

virtual bool DetachEventSource(DebugEventSource &other)

Detach cascaded DebugEventSource to forward all events to

Protected Attributes

std::map<unsigned, std::vector<DebugEventListener*>> listeners

A collection of debug event listeners.

std::set<DebugEventSource*> cascaded

A collection of cascaded debug event sources.

uint64_t seq

Protected Static Functions

static inline std::recursive_mutex &stateLock()

Native code lock used for executing singleton state-management methods in a thread-safe manner.

Managed code uses a different DebugEventLock.