Skip to content
API Documentation
BastionGuard™
bastionguard::rootguard::MultiEventSink Class Referencefinal

#include <MultiEventSink.hpp>

Inheritance diagram for bastionguard::rootguard::MultiEventSink:
bastionguard::rootguard::IEventSink

Public Member Functions

void add (IEventSink &sink)
void onEvent (const rg_event &event) noexcept override
Public Member Functions inherited from bastionguard::rootguard::IEventSink
virtual ~IEventSink ()=default

Private Attributes

std::vector< std::reference_wrapper< IEventSink > > sinks_

Detailed Description

Definition at line 9 of file MultiEventSink.hpp.

Member Function Documentation

◆ add()

void bastionguard::rootguard::MultiEventSink::add ( IEventSink & sink)

Definition at line 6 of file MultiEventSink.cpp.

7{
8 sinks_.emplace_back(sink);
9}
std::vector< std::reference_wrapper< IEventSink > > sinks_

References sinks_.

Referenced by main().

◆ onEvent()

void bastionguard::rootguard::MultiEventSink::onEvent ( const rg_event & event)
overridevirtualnoexcept

Implements bastionguard::rootguard::IEventSink.

Definition at line 11 of file MultiEventSink.cpp.

12{
13 for (IEventSink& sink : sinks_) {
14 try {
15 sink.onEvent(event);
16 } catch (...) {
17 // Isolate sinks from each other.
18 }
19 }
20}

References sinks_.

Member Data Documentation

◆ sinks_

std::vector<std::reference_wrapper<IEventSink> > bastionguard::rootguard::MultiEventSink::sinks_
private

Definition at line 15 of file MultiEventSink.hpp.

Referenced by add(), and onEvent().


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