// 桌面服务适配层 // // 职责:登录认证、桌面列表、连接票据。 // 当前为本地演示实现(账号非空即通过;Windows 桌面走 Moonlight, // Ubuntu/麒麟未分配连接信息)。后续接入管理平台时替换/扩展本类为 // API 适配器(/api/v1/terminal/session/login|desktops|connect-ticket), // 页面与状态机不感知数据来源变化。 #ifndef KIOSK_SHELL_DESKTOP_SERVICE_H #define KIOSK_SHELL_DESKTOP_SERVICE_H #include #include #include #include "desktop_session.h" namespace vdi { class DesktopService { public: using AuthCallback = std::function; using DesktopListCallback = std::function, const QString& error)>; using TicketCallback = std::function; // 异步认证(本地实现立即回调;API 版本将走 HTTPS) void login(const QString& username, const QString& password, AuthCallback callback); // 拉取当前用户可用的桌面列表 void listDesktops(DesktopListCallback callback); // 为指定桌面申请连接票据 void createTicket(const QString& desktopId, TicketCallback callback); void logout(); QString currentUser() const { return currentUser_; } private: QString currentUser_; }; } // namespace vdi #endif // KIOSK_SHELL_DESKTOP_SERVICE_H