BasicEventManager.ixx File
Default implementation of an EventManager. More...
Included Headers
#include <functional>
#include <memory>
#include <utility>
#include <helios.event.Event>
#include <helios.event.Dispatcher>
#include <helios.event.EventQueue>
#include <helios.event.EventManager>
Namespaces Index
| namespace | helios |
| namespace | event |
Classes Index
| class | BasicEventManager |
|
Basic implementation of the EventManager. More... | |
Description
Default implementation of an EventManager.
File Listing
The file content with the documentation metadata removed is:
18using namespace helios::event;
20export namespace helios::event {
29 class BasicEventManager final : public EventManager {
32 using EventManager::post;
41 explicit BasicEventManager(std::unique_ptr<EventQueue> eventQueue,
42 std::unique_ptr<Dispatcher> dispatcher) :
43 EventManager(std::move(eventQueue), std::move(dispatcher))
58 std::unique_ptr<const Event> event,
59 PostPolicy policy,
61 const std::unique_ptr<const Event>& event,
65 std::function<bool(const std::unique_ptr<const Event>& event,
69 case APPEND:
70 eventQueue_->add(std::move(event));
72 case LATEST_WINS:
76 const std::unique_ptr<const Event>& event,
78 if (!event || !evt) {
91 eventQueue_->addOrReplace(std::move(event), cmpFunc);
109 EventManager& dispatchAll() override {
110 while (!eventQueue_->empty()) {
111 auto e = eventQueue_->next();
112 dispatcher_->dispatch(std::move(e));
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.