public ServersUpdateTimer(ApiCachedServerStore serverStore, ApiServerProvider serverProvider) { this._serverStore = serverStore; this._serverProvider = serverProvider; this._timer = new DispatcherTimer(); this._timer.Tick += new EventHandler(this.OnTick); }
public ServerSidePanelViewModel(VpnConnector vpnConnector, BestUserServerProvider bestServerProvider, ApiServerProvider apiServerProvider, VpnConnectionSpeedTracker speedTracker, ISettings userSettings, FavouritesManager favouritesManager, UserContext userContext, EventFacade eventFacade) { this._vpnConnector = vpnConnector; this._bestServerProvider = bestServerProvider; this._apiServerProvider = apiServerProvider; this._settings = userSettings; this._favouritesManager = favouritesManager; this._userContext = userContext; this._eventFacade = eventFacade; this._bestServerProvider.ServersChanged += new EventHandler(this.OnServersChanged); this._vpnConnector.GeoServerConnectionStatusChanged += new ConnectionEventHandler <GeographicalServer>(this.OnServerConnectionStatusChanged); this._userContext.add_UserChanged(delegate(object s, UserEventArgs e) { this.UpdateCurrentServerViewModel(); }); this._favouritesManager.FavouriteServersChanged += new EventHandler <FavouriteServersChangedEventArgs>(this.ChangeCurrentServerFavouriteStatus); speedTracker.SpeedChanged = (EventHandler <VpnConnectionSpeedChangeEventArgs>)Delegate.Combine(speedTracker.SpeedChanged, new EventHandler <VpnConnectionSpeedChangeEventArgs>(this.UpdateSpeeds)); this._settings.Observe <UserSettings, DistanceUnits>((UserSettings s) => s.DistanceUnits, delegate(DistanceUnits d) { this.UpdateCurrentServerViewModel(); }); }