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 487 of file Wiring.cpp.

488{
490
491 if (!reg.task_name.empty()) {
492 m_fabric.m_scheduler.cancel_task(reg.task_name);
493 reg.task_name.clear();
494 }
495 if (!reg.chain_name.empty()) {
496 m_fabric.m_scheduler.cancel_task(reg.chain_name);
497 reg.chain_name.clear();
498 }
499 if (!reg.event_name.empty()) {
500 m_fabric.m_event_manager.cancel_event(reg.event_name);
501 reg.event_name.clear();
502 }
503
504 if (m_bind_detach.has_value()) {
505 (*m_bind_detach)();
506 }
507}
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:294
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.