CppMicroServices

C++ Micro Services: ServiceEventListenerHook Struct Reference
ServiceEventListenerHook Struct Referenceabstract

Service Event Listener Hook Service. More...

Public Types

typedef ShrinkableMap< ModuleContext *, ShrinkableVector< ServiceListenerHook::ListenerInfo > > ShrinkableMapType
 

Public Member Functions

virtual ~ServiceEventListenerHook ()
 
virtual void Event (const ServiceEvent &event, ShrinkableMapType &listeners)=0
 Event listener hook method. More...
 

Detailed Description

Service Event Listener Hook Service.

Modules registering this service will be called during service (register, modify, and unregister service) operations.

Remarks
Implementations of this interface are required to be thread-safe.

Member Typedef Documentation

Constructor & Destructor Documentation

virtual ServiceEventListenerHook::~ServiceEventListenerHook ( )
virtual

Member Function Documentation

virtual void ServiceEventListenerHook::Event ( const ServiceEvent event,
ShrinkableMapType listeners 
)
pure virtual

Event listener hook method.

This method is called prior to service event delivery when a publishing module registers, modifies or unregisters a service. This method can filter the listeners which receive the event.

Parameters
eventThe service event to be delivered.
listenersA map of Module Contexts to a list of Listener Infos for the module's listeners to which the specified event will be delivered. The implementation of this method may remove module contexts from the map and listener infos from the list values to prevent the event from being delivered to the associated listeners.