Context object passed to Application providing event registration, sink access, quit requests, and timer scheduling. Completely encapsulates EventBus and Reactor internals.
More...
#include <ApplicationContext.hpp>
|
| | ApplicationContext ()=default |
| |
| template<typename EventBusType > |
| | ApplicationContext (EventBusType &events, StaticCallback quitCallback) |
| |
| bool | cancelTimer (TimerId id) const noexcept |
| | Cancel an active timer.
|
| |
| void | detachFromRuntime () noexcept |
| | Detach application from runtime to prevent dangling callbacks on shutdown.
|
| |
| EventSinkT< EventVariant > | eventSink () const noexcept |
| | Access event sink handle.
|
| |
| | operator bool () const noexcept |
| |
| template<typename Filter , typename Handler > |
| bool | registerFilteredHandler (Filter &&filter, Handler &&handler) |
| | Register a filtered event handler executed only when predicate evaluates to true.
|
| |
| template<typename Handler > |
| bool | registerHandler (Handler &&handler) |
| | Register an event handler into the application event bus.
|
| |
| void | requestQuit () const |
| | Request graceful application exit.
|
| |
| void | reset () noexcept |
| | Reset context state to empty.
|
| |
| template<typename Rep , typename Period > |
| TimerId | scheduleDelayed (EventVariant event, const std::chrono::duration< Rep, Period > &delay, EventPriority priority=EventPriority::Normal) const |
| | Schedule a single-shot delayed event with std::chrono duration.
|
| |
| template<typename Rep , typename Period > |
| TimerId | schedulePeriodic (EventVariant event, const std::chrono::duration< Rep, Period > &interval, EventPriority priority=EventPriority::Normal) const |
| | Schedule a recurring periodic event with std::chrono duration.
|
| |
| void | setRuntimeDetach (void *runtimePtr, void(*detachFn)(void *) noexcept) noexcept |
| | Attach runtime detachment handle.
|
| |
| template<typename Scheduler > |
| void | setTimerScheduler (Scheduler &scheduler) noexcept |
| |
template<typename EventVariant = DefaultEvents>
class corium::ApplicationContext< EventVariant >
Context object passed to Application providing event registration, sink access, quit requests, and timer scheduling. Completely encapsulates EventBus and Reactor internals.
- Template Parameters
-
| EventVariant | Supported event variant list type (defaults to DefaultEvents). |
◆ CancelTimerFn
template<typename EventVariant = DefaultEvents>
◆ EventVariantType
template<typename EventVariant = DefaultEvents>
◆ ScheduleDelayedFn
template<typename EventVariant = DefaultEvents>
◆ SchedulePeriodicFn
template<typename EventVariant = DefaultEvents>
◆ ApplicationContext() [1/2]
template<typename EventVariant = DefaultEvents>
◆ ApplicationContext() [2/2]
template<typename EventVariant = DefaultEvents>
template<typename EventBusType >
◆ cancelTimer()
template<typename EventVariant = DefaultEvents>
◆ detachFromRuntime()
template<typename EventVariant = DefaultEvents>
Detach application from runtime to prevent dangling callbacks on shutdown.
◆ eventSink()
template<typename EventVariant = DefaultEvents>
Access event sink handle.
◆ operator bool()
template<typename EventVariant = DefaultEvents>
◆ registerFilteredHandler()
template<typename EventVariant = DefaultEvents>
template<typename Filter , typename Handler >
Register a filtered event handler executed only when predicate evaluates to true.
- Template Parameters
-
| Filter | Callable returning bool when passed the event. |
| Handler | Callable accepting const EventType&. |
◆ registerHandler()
template<typename EventVariant = DefaultEvents>
template<typename Handler >
Register an event handler into the application event bus.
◆ requestQuit()
template<typename EventVariant = DefaultEvents>
Request graceful application exit.
◆ reset()
template<typename EventVariant = DefaultEvents>
Reset context state to empty.
◆ scheduleDelayed()
template<typename EventVariant = DefaultEvents>
template<typename Rep , typename Period >
Schedule a single-shot delayed event with std::chrono duration.
◆ schedulePeriodic()
template<typename EventVariant = DefaultEvents>
template<typename Rep , typename Period >
Schedule a recurring periodic event with std::chrono duration.
◆ setRuntimeDetach()
template<typename EventVariant = DefaultEvents>
Attach runtime detachment handle.
◆ setTimerScheduler()
template<typename EventVariant = DefaultEvents>
template<typename Scheduler >
The documentation for this class was generated from the following file: