using System.Collections.Generic; using System.ServiceModel; using WeatherService.Devices; using WeatherService.Values; namespace WeatherService.Remote { [ServiceContract(CallbackContract = typeof(IWeatherServiceCallback))] public interface IWeatherServiceDuplex { [OperationContract] List GetDevices(); [OperationContract] ReadingBase GetLatestReading(string deviceAddress, WeatherValueType valueType); [OperationContract] bool Subscribe(); [OperationContract] bool Unsubscribe(); [OperationContract] DeviceHistory GetDeviceHistory(string deviceAddress); [OperationContract] Dictionary> GetDeviceHistoryByValueType(WeatherValueType valueType); [OperationContract] Dictionary> GetWindSpeedHistory(int groupIntervalMinutes); [OperationContract] Dictionary GetWindDirectionHistory(); } }