MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ add_event()

void MayaFlux::Vruta::EventManager::add_event ( const std::shared_ptr< Event > &  event,
const std::string &  name = "" 
)

Add a event to the manager.

Parameters
eventEvent to add
nameOptional name for the event (for event management)

Definition at line 7 of file EventManager.cpp.

8{
9 if (!event)
10 return;
11
12 std::string event_name = name.empty() ? auto_generate_name(event) : name;
13
14 if (!name.empty() && m_named_events.count(event_name)) {
15 remove_event(event_name);
16 }
17
18 m_events.push_back(event);
19 if (!name.empty()) {
20 m_named_events[event_name] = event;
21 }
22}
std::unordered_map< std::string, std::shared_ptr< Event > > m_named_events
bool remove_event(const std::string &name)
Remove an event by name.
std::string auto_generate_name(const std::shared_ptr< Event > &event) const
Generate automatic name for a event based on its type.
std::vector< std::shared_ptr< Event > > m_events

References auto_generate_name(), m_events, m_named_events, and remove_event().

+ Here is the call graph for this function: