#pragma once #include <3ds/types.h> #include typedef enum { UPD_IDLE, // noch nicht geprüft UPD_CHECKING, // fragt den Server UPD_LATEST, // schon die neueste Version UPD_AVAILABLE, // neue Version gefunden, wartet auf update_download() UPD_DOWNLOADING, // lädt neue Version UPD_INSTALLED, // neue Version liegt auf der SD, App neu starten UPD_NONE, // Server bietet keine Updates an UPD_ERROR, // Server nicht erreichbar o. Ä. } UpdateState; // Startet die Prüfung im Hintergrund. selfPath = Pfad der laufenden .3dsx. void update_start(const char *server, const char *selfPath); // Lädt und installiert die gefundene neue Version (nur im Zustand UPD_AVAILABLE). void update_download(void); // true, solange ein Update ansteht, lädt oder auf den Neustart wartet bool update_pending(void); UpdateState update_state(void); const char *update_new_version(void); void update_finish(void); // Laufender Download-Versuch (1-3) int update_attempt(void); // Beschreibung des letzten Fehlers (Schritt und Code) void update_error(char *out, size_t len);