public async Task InitAsync() { await RemoteControlServer.StartAsync(); await SpeechRecognitionService.StartAsync(); await AlarmService.StartAsync(); }
public override void Stop() { if (!Running) { return; } log.InfoFormat("Stopping {0}", GetTypeName()); server.Stop(); server = null; base.Stop(); log.DebugFormat("{0} stopped", GetTypeName()); }
public void SetUp() { _environment = new MockPluginEnvironment(null); _srv = new RemoteControlServer(_port); _srv.Start(); }
public void TearDown() { _srv.Stop(); _srv = null; }
public override void Start() { if (Running) { return; } log.InfoFormat("Starting {0}", GetTypeName()); base.Start(); server = new RemoteControlServer(this.ApiBindAddress, this.ApiAccessPort); server.RequestReceived += (object sender, RequestReceivedEventArgs e) => { if (e.Context.Request.Url.AbsolutePath == "/api/v1/test") { server.SendResponseJson(200, new InfoResponse() { name = "BlinkStick Client", version = ApplicationDataModel.ApplicationVersion, versionFull = ApplicationDataModel.ApplicationFullVersion }, e.Context.Response); e.Handled = true; } RouteEnum route = RouteEnum.Unrecognized; Match m = SetColorRegex.Match(e.Context.Request.Url.AbsolutePath); if (m.Success) { route = RouteEnum.SetColor; } else { m = PatternRegex.Match(e.Context.Request.Url.AbsolutePath); if (m.Success) { route = RouteEnum.PlayPattern; } } BlinkStickDeviceSettings ledSettings = null; if (route != RouteEnum.Unrecognized) { String serial = m.Groups[1].ToString(); ledSettings = DataModel.FindBySerial(serial); if (ledSettings == null) { server.SendResponseJson(422, new ErrorResponse() { error = String.Format("BlinkStick with serial number {0} not found", serial) }, e.Context.Response); e.Handled = true; return; } else if (ledSettings.Led == null) { server.SendResponseJson(422, new ErrorResponse() { error = String.Format("BlinkStick with serial number {0} not connected", serial) }, e.Context.Response); e.Handled = true; return; } } switch (route) { case RouteEnum.SetColor: ProcessSetColorRequest(e, ledSettings); break; case RouteEnum.PlayPattern: ProcessPlayPatternRequest(e, ledSettings); break; default: break; } }; server.Start(); log.DebugFormat("{0} started", GetTypeName()); }