MayaFlux 0.5.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 521 of file Wiring.cpp.

522{
524
525 if (!reg.task_name.empty()) {
526 m_fabric.m_scheduler.cancel_task(reg.task_name);
527 reg.task_name.clear();
528 }
529 if (!reg.chain_name.empty()) {
530 m_fabric.m_scheduler.cancel_task(reg.chain_name);
531 reg.chain_name.clear();
532 }
533 if (!reg.event_name.empty()) {
534 m_fabric.m_event_manager.cancel_event(reg.event_name);
535 reg.event_name.clear();
536 }
537
538 if (m_bind_detach.has_value()) {
539 (*m_bind_detach)();
540 }
541}
Vruta::TaskScheduler & m_scheduler
Definition Fabric.hpp:288
std::unordered_map< uint32_t, Registration > m_registrations
Definition Fabric.hpp:292
Vruta::EventManager & m_event_manager
Definition Fabric.hpp:289
std::optional< std::function< void()> > m_bind_detach
Definition Wiring.hpp:319
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.