[client] transport: stop after guest sessions end

Track unexpected loss of an admitted fallback independently from normal
stop and UUID revocation. Terminate once both primary and fallback
sessions have disappeared, regardless of notification order.

Make shutdown terminal so concurrent disconnect handling cannot replace
it with restart or running state.
This commit is contained in:
Geoffrey McRae
2026-08-12 12:13:48 +10:00
parent 2d96ec401c
commit 8fb3c4d9f6
7 changed files with 141 additions and 33 deletions

View File

@@ -30,6 +30,13 @@
#include "interface/displayserver.h"
#include "interface/overlay.h"
enum RunState
{
APP_STATE_RUNNING,
APP_STATE_RESTART,
APP_STATE_SHUTDOWN
};
typedef enum LG_MsgAlert
{
LG_ALERT_INFO ,
@@ -53,6 +60,9 @@ typedef struct LG_MouseState
LG_MouseState;
bool app_isRunning(void);
enum RunState app_getState(void);
void app_setState(enum RunState state);
bool app_transitionState(enum RunState from, enum RunState to);
bool app_inputEnabled(void);
bool app_isCaptureMode(void);
bool app_isCaptureOnlyMode(void);