MayaFlux
0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
EventSource.cpp
Go to the documentation of this file.
1
#include "
EventSource.hpp
"
2
3
#include "
MayaFlux/Kriya/Awaiters/EventAwaiter.hpp
"
4
5
namespace
MayaFlux::Vruta
{
6
7
void
EventSource::dispatch
(
const
void
* event)
8
{
9
if
(
m_waiters
.empty())
10
return
;
11
12
auto
waiters =
m_waiters
;
13
for
(
auto
* w : waiters)
14
w->try_resume(event);
15
}
16
17
void
EventSource::register_waiter
(
Kriya::EventAwaiter
* awaiter)
18
{
19
m_waiters
.push_back(awaiter);
20
}
21
22
void
EventSource::unregister_waiter
(
Kriya::EventAwaiter
* awaiter)
23
{
24
auto
it = std::ranges::find(
m_waiters
, awaiter);
25
if
(it !=
m_waiters
.end())
26
m_waiters
.erase(it);
27
}
28
29
}
// namespace MayaFlux::Vruta
EventAwaiter.hpp
EventSource.hpp
MayaFlux::Kriya::EventAwaiter
Abstract base for all event-driven awaiters.
Definition
EventAwaiter.hpp:24
MayaFlux::Vruta::EventSource::dispatch
void dispatch(const void *event)
Iterates the waiter list, passing the type-erased signal to each.
Definition
EventSource.cpp:7
MayaFlux::Vruta::EventSource::m_waiters
std::vector< Kriya::EventAwaiter * > m_waiters
Definition
EventSource.hpp:63
MayaFlux::Vruta::EventSource::register_waiter
void register_waiter(Kriya::EventAwaiter *awaiter)
Definition
EventSource.cpp:17
MayaFlux::Vruta::EventSource::unregister_waiter
void unregister_waiter(Kriya::EventAwaiter *awaiter)
Definition
EventSource.cpp:22
MayaFlux::Vruta
Definition
Chronie.hpp:18
src
MayaFlux
Vruta
EventSource.cpp
Generated by
1.9.8