events#

Fully qualified name: carb::events

namespace events#

Namespace for the carb.events plugin.

Classes#

IEvent

Event object which is sent and received.

IEventListener

Interface to implement for event listener.

IEventStream

Event stream is fundamental primitive used to send, receive and listen for events.

IEventsAdapter

Interface for creating IEventStream objects that adapt IEventStream functionality to carb::eventdispatcher systems.

ISubscription

Subscription holder is created by all event listening subscription functions.

LambdaEventListener

A helper to use a std::function as an carb::events::IEventListener .

Enumerations#

AdapterType

Adapter type.

Functions#

ObjectPtr< ISubscription > createSubscriptionToPop(IEventStream *stream, std::function< void(IEvent *)> onEventFn, Order order=kDefaultOrder, const char *subscriptionName=nullptr)

A helper for IEvents::createSubscriptionToPop() that creates a LambdaEventListener .

ObjectPtr< ISubscription > createSubscriptionToPopByType(IEventStream *stream, EventType eventType, std::function< void(IEvent *)> onEventFn, Order order=kDefaultOrder, const char *subscriptionName=nullptr)

A helper for IEvents::createSubscriptionToPop() that creates a LambdaEventListener .

ObjectPtr< ISubscription > createSubscriptionToPush(IEventStream *stream, std::function< void(IEvent *)> onEventFn, Order order=kDefaultOrder, const char *subscriptionName=nullptr)

A helper for IEvents::createSubscriptionToPush() that creates a LambdaEventListener .

ObjectPtr< ISubscription > createSubscriptionToPushByType(IEventStream *stream, EventType eventType, std::function< void(IEvent *)> onEventFn, Order order=kDefaultOrder, const char *subscriptionName=nullptr)

A helper for IEvents::createSubscriptionToPush() that creates a LambdaEventListener .

IEvents * getCachedEventsInterface()

Helper for carb::getCachedInterface<IEvents>() .

std::vector< ObjectPtr< ISubscription > > getSubscriptionsToPop(IEventStream *stream)

A helper for IEventStream::walkSubscriptionsToPop() that gathers the subscriptions into a vector.

std::vector< ObjectPtr< ISubscription > > getSubscriptionsToPush(IEventStream *stream)

A helper for IEventStream::walkSubscriptionsToPush() that gathers the subscriptions into a vector.

EventType typeFromString(const char *str)

Run-time conversion of string to carb::events::EventType .

Structs#

AdapterDesc

Describes the adapter type desired by IEventsAdapter::createAdapter() .

IEvents

Interface definition for carb.events .

MappingEntry

Structure defining a mapping entry for use with AdapterDesc .

Typedefs#

EventType

Event type is 64-bit number.

IEventListenerPtr

Helper definition for IEventListener smart pointer.

IEventPtr

Helper definition for IEvent smart pointer.

IEventStreamPtr

Helper definition for IEventStream smart pointer.

ISubscriptionPtr

Helper definition for ISubscription smart pointer.

Order

Event notification order.

SenderId

Event sender identifier.

SubscriptionCallback

Callback function called by IEventStream::walkSubscriptionsToPush and IEventStream::walkSubscriptionsToPop .

Variables#

constexpr Order kDefaultOrder

Default order.

constexpr SenderId kGlobalSenderId

Default sender id to use if you don't want it to be unique.