#include "program.h" #include "system_manager.h" std::vector SystemManager::init(DISPLAY_STATE* display_state) { _display_state = display_state; return _programs; } void SystemManager::spawn_program(Window* window) { Program* program = new Program(_display_state); window->id = _programs.size() + 1; program->init(_programs.size() + 1, "lol", window); _programs.push_back(program); } void SystemManager::close_program(int id) { for (size_t i = 0; i < _programs.size(); ++i) { if (_programs[i]->_id == id) { _programs[i]->close(); delete _programs[i]; // Free the memory _programs.erase(_programs.begin() + i); break; // Exit after erase } } }