26 lines
706 B
C++
26 lines
706 B
C++
#include "program.h"
|
|
#include "system_manager.h"
|
|
|
|
std::vector<Program*> 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
|
|
}
|
|
}
|
|
} |