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

◆ cancel()

void MayaFlux::Nexus::Wiring::cancel ( )

Cancel an active wiring and release any owned coroutine.

Definition at line 441 of file Wiring.cpp.

442{
444
445 if (!reg.task_name.empty()) {
446 m_fabric.m_scheduler.cancel_task(reg.task_name);
447 reg.task_name.clear();
448 }
449 if (!reg.chain_name.empty()) {
450 m_fabric.m_scheduler.cancel_task(reg.chain_name);
451 reg.chain_name.clear();
452 }
453 if (!reg.event_name.empty()) {
454 m_fabric.m_event_manager.cancel_event(reg.event_name);
455 reg.event_name.clear();
456 }
457
458 if (m_bind_detach.has_value()) {
459 (*m_bind_detach)();
460 }
461}
Vruta::TaskScheduler & m_scheduler
Definition Fabric.hpp:221
std::unordered_map< uint32_t, Registration > m_registrations
Definition Fabric.hpp:225
Vruta::EventManager & m_event_manager
Definition Fabric.hpp:222
std::optional< std::function< void()> > m_bind_detach
Definition Wiring.hpp:244
bool cancel_event(const std::shared_ptr< Event > &event)
Cancels and removes a event from the manager.
bool cancel_task(const std::shared_ptr< Routine > &routine)
Cancels and removes a task from the scheduler.
Definition Scheduler.cpp:62