using MediaBrowser.Model.Weather; using System; using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Controller.Weather { /// /// Class BaseWeatherProvider /// public abstract class BaseWeatherProvider : IDisposable { /// /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. /// public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } /// /// Releases unmanaged and - optionally - managed resources. /// /// true to release both managed and unmanaged resources; false to release only unmanaged resources. protected virtual void Dispose(bool dispose) { } /// /// Gets the weather info async. /// /// The location. /// Task{WeatherInfo}. public abstract Task GetWeatherInfoAsync(string location, CancellationToken cancellationToken); } }