using System; using System.Threading; using System.Threading.Tasks; using ShareeBike.Model.Device; namespace ShareeBike.Services.Geolocation { /// Query geolocation. public interface IGeolocationService : IGeolodationDependent { /// Gets the current location. /// Token to cancel request for geolocation. If null request can not be cancels and times out after GeolocationService.GEOLOCATIONREQUEST_TIMEOUT_MS if geolocation is not available. /// Time when geolocation is of interest. Is used to determine for some implementations whether cached geolocation can be used or not. /// Task GetAsync(CancellationToken? cancellationToken = null, DateTime? timeStamp = null); /// If true location data returned is simulated. bool IsSimulation { get; } } }