Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
Loading...
Searching...
No Matches
event_bus_interface.h File Reference

Event bus interface for decoupled component communication. More...

#include <any>
#include <atomic>
#include <chrono>
#include <concepts>
#include <functional>
#include <memory>
#include <mutex>
#include <string>
#include <type_traits>
#include <typeindex>
#include <unordered_map>
#include <vector>
#include "../core/result_types.h"
#include "../config/feature_flags.h"
Include dependency graph for event_bus_interface.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  kcenon::monitoring::event_base
 Base class for all events in the system. More...
 
class  kcenon::monitoring::event_handler< EventType >
 Type-safe event handler wrapper. More...
 
class  kcenon::monitoring::subscription_token
 Token for managing event subscriptions. More...
 
class  kcenon::monitoring::interface_event_bus
 Pure virtual interface for event bus implementation. More...
 
class  kcenon::monitoring::interface_event_publisher
 Interface for components that publish events. More...
 
class  kcenon::monitoring::interface_event_subscriber
 Interface for components that subscribe to events. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::monitoring
 
namespace  kcenon::monitoring::concepts
 

Concepts

concept  kcenon::monitoring::concepts::EventType
 A type that can be used as an event in the event bus.
 
concept  kcenon::monitoring::concepts::EventHandler
 A callable that can handle events of a specific type.
 
concept  kcenon::monitoring::concepts::EventFilter
 A callable that filters events based on criteria.
 

Enumerations

enum class  kcenon::monitoring::event_priority { kcenon::monitoring::low , kcenon::monitoring::normal , kcenon::monitoring::high , kcenon::monitoring::critical }
 

Detailed Description

Event bus interface for decoupled component communication.

This file defines the event bus pattern interfaces that enable publish-subscribe communication between monitoring components without direct dependencies.

C++20 Concepts are used to provide compile-time validation with clear error messages for event types and handlers.

Definition in file event_bus_interface.h.