feat(service-menu): pobla SISTEMA amb reinici, eixir i confirmacions

This commit is contained in:
2026-05-24 12:18:39 +02:00
parent 8c21345f14
commit 22827c28fa
8 changed files with 338 additions and 38 deletions
+8
View File
@@ -13,8 +13,12 @@
#include <memory>
#include "core/system/director.hpp"
#include "core/system/relaunch.hpp"
auto SDL_AppInit(void** appstate, int argc, char* argv[]) -> SDL_AppResult {
// Desem argv perquè el menu de servei pugui demanar un reinici en calent
// (execv) sense haver de conèixer Director.
System::Relaunch::setArgv(argc, argv);
auto director = std::make_unique<Director>(argc, argv);
*appstate = director.release();
return SDL_APP_CONTINUE;
@@ -33,4 +37,8 @@ auto SDL_AppIterate(void* appstate) -> SDL_AppResult {
void SDL_AppQuit(void* appstate, SDL_AppResult /*result*/) {
// Reabsorbim la propietat: el destructor del Director allibera tot.
std::unique_ptr<Director> director(static_cast<Director*>(appstate));
director.reset();
// Si el menu va demanar reinici, fem execv ara que tot esta net. En cas
// d'exit no torna; si falla, l'aplicacio surt amb codi d'error.
System::Relaunch::execIfRequested();
}