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

◆ SubsystemManager()

MayaFlux::Core::SubsystemManager::SubsystemManager ( std::shared_ptr< Nodes::NodeGraphManager node_graph_manager,
std::shared_ptr< Buffers::BufferManager buffer_manager,
std::shared_ptr< Vruta::TaskScheduler task_scheduler,
std::shared_ptr< Core::WindowManager window_manager = nullptr 
)

Constructs SubsystemManager with required processing managers.

Parameters
node_graph_managerShared node graph manager for all subsystems
buffer_managerShared buffer manager for all subsystems
task_schedulerShared task scheduler for all subsystems
window_managerOptional shared window manager for graphics subsystems

Initializes the manager with references to the core processing systems. These managers are shared across all subsystems but accessed through token-scoped handles for proper isolation.

Definition at line 12 of file SubsystemManager.cpp.

17 : m_node_graph_manager(std::move(node_graph_manager))
18 , m_buffer_manager(std::move(buffer_manager))
19 , m_task_scheduler(std::move(task_scheduler))
20 , m_window_manager(std::move(window_manager))
21{
24 std::source_location::current(),
25 "SubsystemManager requires valid NodeGraphManager");
26 }
27 if (!m_buffer_manager) {
29 std::source_location::current(),
30 "SubsystemManager requires valid BufferManager");
31 }
32 if (!m_task_scheduler) {
34 std::source_location::current(),
35 "SubsystemManager requires valid TaskScheduler");
36 }
37 if (!m_window_manager) {
39 "No WindowManager provided - Graphics subsystems will be unavailable");
40 }
41}
#define MF_WARN(comp, ctx,...)
std::shared_ptr< Buffers::BufferManager > m_buffer_manager
std::shared_ptr< Nodes::NodeGraphManager > m_node_graph_manager
std::shared_ptr< Vruta::TaskScheduler > m_task_scheduler
std::shared_ptr< Core::WindowManager > m_window_manager
@ Init
Engine/subsystem initialization.
void fatal(Component component, Context context, std::source_location location, std::string_view message)
Log a fatal message and abort the program.
@ Core
Core engine, backend, subsystems.

References MayaFlux::Journal::Core, MayaFlux::Journal::Init, m_buffer_manager, m_node_graph_manager, m_task_scheduler, m_window_manager, and MF_WARN.