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

◆ start()

void MayaFlux::Core::InputSubsystem::start ( )
overridevirtual

Start the subsystem's processing/event loops.

Begins active processing. After this call, the subsystem should be actively responding to callbacks and processing data according to its domain requirements.

Implements MayaFlux::Core::ISubsystem.

Definition at line 93 of file InputSubsystem.cpp.

94{
95 if (!m_ready.load()) {
97 "Cannot start InputSubsystem: not initialized");
98 return;
99 }
100
101 if (m_running.load()) {
102 return;
103 }
104
106
107 {
108 std::shared_lock lock(m_backends_mutex);
109 for (auto& [type, backend] : m_backends) {
110 backend->start();
111 }
112 }
113
114 m_running.store(true);
115
117 "Input Subsystem started");
118}
#define MF_INFO(comp, ctx,...)
#define MF_ERROR(comp, ctx,...)
vk::PhysicalDeviceType type
Definition VKDevice.cpp:146
SubsystemProcessingHandle * m_handle
std::unordered_map< InputType, std::unique_ptr< IInputBackend > > m_backends
@ InputSubsystem
Input subsystem operations (device management, event dispatch)
@ Core
Core engine, backend, subsystems.

References MayaFlux::Journal::Core, MayaFlux::Core::SubsystemProcessingHandle::inputs, MayaFlux::Journal::InputSubsystem, m_backends, m_backends_mutex, m_handle, m_ready, m_running, MF_ERROR, MF_INFO, MayaFlux::Core::InputManagerHandle::start(), and type.

+ Here is the call graph for this function: