public GpsServiceResponse StartUp(CancellationToken cancellationToken) { var response = new GpsServiceResponse(); try { Token = cancellationToken; // Obtenemos la latencia. var latency = _driver.GetLatency(); if (!latency.Success) { throw new InvalidOperationException(latency.ErrorMessage); } _lastLatency = latency.NumberOfSeconds; // Inicializamos el Timer con la cantidad de segundos por mil // ya que se tiene que expresar en milisegundos. _timer = new Timer(ElapsedTime, this, 0, _lastLatency * 1000); response.Success = true; } catch (Exception ex) { response.Success = false; response.ErrorMessage = ex.Message; } return(response); }
public GpsServiceResponse ShutDown() { var response = new GpsServiceResponse(); try { var message = new StopLongRunningTaskMessage(); MessagingCenter.Send(message, nameof(StopLongRunningTaskMessage)); response.Success = true; } catch (Exception ex) { response.Success = false; response.ErrorMessage = ex.Message; } return(response); }