ledger-core
Public Member Functions | Static Public Member Functions | List of all members
ledger::core::api::EventPublisher Class Referenceabstract

#include <EventPublisher.hpp>

+ Inheritance diagram for ledger::core::api::EventPublisher:

Public Member Functions

virtual std::shared_ptr< EventBusgetEventBus ()=0
 
virtual void post (const std::shared_ptr< Event > &event)=0
 
virtual void postSticky (const std::shared_ptr< Event > &event, int32_t tag)=0
 
virtual void relay (const std::shared_ptr< EventBus > &bus)=0
 

Static Public Member Functions

static std::shared_ptr< EventPublishernewInstance (const std::shared_ptr< ExecutionContext > &context)
 

Detailed Description

Class representing an event publisher.

Member Function Documentation

◆ getEventBus()

virtual std::shared_ptr<EventBus> ledger::core::api::EventPublisher::getEventBus ( )
pure virtual

Get event bus through which publisher broadcast its events.

Returns
EventBus object

Implemented in ledger::core::EventPublisher.

◆ newInstance()

std::shared_ptr< EventPublisher > ledger::core::api::EventPublisher::newInstance ( const std::shared_ptr< ExecutionContext > &  context)
static

Create a new instance of EventPublisher class.

Parameters
context,executionContextobject, context in which event publisher broadcast its events

◆ post()

virtual void ledger::core::api::EventPublisher::post ( const std::shared_ptr< Event > &  event)
pure virtual

Broadcast an event through eventbus (to all subscribed receivers to this EventBus).

Parameters
event,Eventobject

◆ postSticky()

virtual void ledger::core::api::EventPublisher::postSticky ( const std::shared_ptr< Event > &  event,
int32_t  tag 
)
pure virtual

Same as post method but with an sticky event.

Parameters
event,Eventobject
tag,32bits integer, tag of sticky event

◆ relay()

virtual void ledger::core::api::EventPublisher::relay ( const std::shared_ptr< EventBus > &  bus)
pure virtual

Relay an event to another EventBus (other than EventPublisher's event bus).

Parameters
bus,EventBusobject, through which we want to broadcast EventPublisher's event to EventPublisher's receiver

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