Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
Loading...
Searching...
No Matches
kcenon::monitoring::interface_event_subscriber Class Referenceabstract

Interface for components that subscribe to events. More...

#include <event_bus_interface.h>

Collaboration diagram for kcenon::monitoring::interface_event_subscriber:
Collaboration graph

Public Member Functions

virtual ~interface_event_subscriber ()=default
 
virtual common::VoidResult subscribe_to_events (std::shared_ptr< interface_event_bus > bus)=0
 Subscribe to required events.
 
virtual common::VoidResult unsubscribe_from_events ()=0
 Unsubscribe from all events.
 
virtual std::vector< subscription_tokenget_subscriptions () const =0
 Get subscription tokens.
 

Detailed Description

Interface for components that subscribe to events.

Components implementing this interface can subscribe to events from an event bus. This provides lifecycle management for subscriptions and ensures proper cleanup when components are destroyed.

Thread Safety:
Implementations should ensure thread-safe subscription management, especially during subscribe/unsubscribe operations.

Definition at line 485 of file event_bus_interface.h.

Constructor & Destructor Documentation

◆ ~interface_event_subscriber()

virtual kcenon::monitoring::interface_event_subscriber::~interface_event_subscriber ( )
virtualdefault

Member Function Documentation

◆ get_subscriptions()

virtual std::vector< subscription_token > kcenon::monitoring::interface_event_subscriber::get_subscriptions ( ) const
pure virtual

Get subscription tokens.

Returns
Vector of active subscription tokens
Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/interfaces/event_bus_interface.h.

◆ subscribe_to_events()

virtual common::VoidResult kcenon::monitoring::interface_event_subscriber::subscribe_to_events ( std::shared_ptr< interface_event_bus > bus)
pure virtual

Subscribe to required events.

Parameters
busThe event bus to subscribe to
Returns
Result indicating success or failure
Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/interfaces/event_bus_interface.h.

◆ unsubscribe_from_events()

virtual common::VoidResult kcenon::monitoring::interface_event_subscriber::unsubscribe_from_events ( )
pure virtual

Unsubscribe from all events.

Returns
Result indicating success or failure
Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/interfaces/event_bus_interface.h.

The documentation for this class was generated from the following file: