Files
MBMNET-APP/source/update.h
T

30 lines
1.2 KiB
C

#pragma once
#include <3ds/types.h>
#include <stddef.h>
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);
// Wartet auf den Hintergrund-Thread (höchstens 0,1 s). false = läuft noch.
bool 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);