public void UpdateSettings(string deviceId, HandyHost host, string localIp, int localPort) { if (HandyHelper.DeviceId != deviceId || !Connected) { HandyHelper.DeviceId = deviceId; UpdateConnectionStatus(); } _host = host; switch (_host) { case HandyHost.Local: { if (LocalScriptServer == null) { LocalScriptServer = new HandyScriptServer(this); } if (LocalScriptServer.HttpServerRunning) { if (LocalScriptServer.LocalIp != localIp || LocalScriptServer.ServeScriptPort != localPort) { LocalScriptServer.Exit(); } } LocalScriptServer.LocalIp = localIp; LocalScriptServer.ServeScriptPort = localPort; if (!LocalScriptServer.HttpServerRunning) { LocalScriptServer.Start(); } break; } case HandyHost.HandyfeelingCom: { if (LocalScriptServer != null && LocalScriptServer.HttpServerRunning) { LocalScriptServer.Exit(); LocalScriptServer = null; } break; } } }
public void Dispose() { lock (_dictionaryLock) { foreach (var kvp in _apiCallQueue) { kvp.Value.Cancel(); } _apiCallQueue.Clear(); } LocalScriptServer?.Exit(); _updateOffsetTask?.Dispose(); }
public void StartLocalHttpServer() => LocalScriptServer?.Start();
public void Exit() { _apiCallQueue.Cancel(); LocalScriptServer?.Exit(); }