EventRegistry implementation that keeps all event handlers in a vector and forwards every single call to each event handler.
More...
#include <EventHandlerContainer.hxx>
|
| static unsigned | align_mask (EventId *event, unsigned size) |
| | Computes the alignment mask for registering an event range.
|
| |
| static EventRegistry * | instance () |
| |
| static bool | exists () |
| |
| void | set_dirty () |
| | Implementations must call this function from register and unregister handler to mark iterators being invalidated.
|
| |
| void | lock () |
| |
| void | unlock () |
| |
EventRegistry implementation that keeps all event handlers in a vector and forwards every single call to each event handler.
Definition at line 113 of file EventHandlerContainer.hxx.
◆ HandlersList
◆ VectorEventHandlers()
| openlcb::VectorEventHandlers::VectorEventHandlers |
( |
| ) |
|
|
inline |
◆ create_iterator()
| EventIterator * openlcb::VectorEventHandlers::create_iterator |
( |
| ) |
|
|
inlinevirtual |
◆ register_handler()
| void openlcb::VectorEventHandlers::register_handler |
( |
const EventRegistryEntry & |
entry, |
|
|
unsigned |
mask |
|
) |
| |
|
inlinevirtual |
Adds a new event handler to the registry.
- Parameters
-
| entry | is the structure parametrizingthe registration. |
| mask | is used for registering consecutive events; zero for registering just one event; otherwise use {align_mask} to compute the base value and mask to use for registering a range of events. |
Implements openlcb::EventRegistry.
Definition at line 123 of file EventHandlerContainer.hxx.
◆ unregister_handler()
| void openlcb::VectorEventHandlers::unregister_handler |
( |
EventHandler * |
handler, |
|
|
uint32_t |
user_arg = 0, |
|
|
uint32_t |
user_arg_mask = 0 |
|
) |
| |
|
inlinevirtual |
Removes all registered instances of a given event handler pointer.
- Parameters
-
| handler | the handler for which to unregister entries |
| user_arg | values of the 32-bit user arg to remove |
| user_arg_mask | 32-bit mask where to verify user_arg being equal |
Implements openlcb::EventRegistry.
Definition at line 130 of file EventHandlerContainer.hxx.
◆ handlers_
| HandlersList openlcb::VectorEventHandlers::handlers_ |
|
private |
The documentation for this class was generated from the following file: