- Started setting up a thread safe window manager

- Created thread & atomic structures
This commit is contained in:
2025-12-17 01:11:28 -05:00
parent 520a0e1363
commit aee4e340dd
41 changed files with 2179 additions and 428 deletions

View File

@@ -29,25 +29,22 @@ platform::platform() {
}
void platform::initialize() {
if (wmanager) {
return;
}
logger::log(format("Initializing platform {}", get_type().name()));
display_server::entrylist_t display_servers = display_server::get_type_list();
while (not display_servers.empty()) {
display_server::entry it = display_servers.front();
display_servers.pop();
unique_ptr<display_server> server = unique_ptr(it.ctor(this));
server->connect();
if (server->connected()) {
logger::log(format("Selected {} for the display server.", server->get_type().name()));
display = move(server);
break;
}
}
// Setup Window Manager
wmanager = make_unique<window_manager>(this);
wmanager->initialize();
}
void platform::shutdown() {
display.reset();
// Cleanup Window Manager
wmanager->shutdown();
wmanager.reset();
}
}