public LoginViewModel( Common.Configuration.Config appConfig, LoginWindowViewModel loginWindowViewModel, IActiveUrls urls, IAppSettings appSettings, LoginErrorViewModel loginErrorViewModel, UserAuth userAuth, IModals modals, GuestHoleConnector guestHoleConnector, GuestHoleState guestHoleState) { _appConfig = appConfig; _userAuth = userAuth; _appSettings = appSettings; _urls = urls; _modals = modals; _loginWindowViewModel = loginWindowViewModel; _guestHoleConnector = guestHoleConnector; _guestHoleState = guestHoleState; LoginErrorViewModel = loginErrorViewModel; LoginCommand = new RelayCommand(LoginAction); RegisterCommand = new RelayCommand(RegisterAction); HelpCommand = new RelayCommand(HelpAction); ToggleHelpBalloon = new RelayCommand(ToggleBalloonAction); ResetPasswordCommand = new RelayCommand(ResetPasswordAction); ForgotUsernameCommand = new RelayCommand(ForgotUsernameAction); DisableKillSwitchCommand = new RelayCommand(DisableKillSwitchAction); }
public void Initialize() { var guestHoleState = new GuestHoleState(); guestHoleState.SetState(true); _guestHoleServers.GetAll().Returns(new List <GuestHoleServerContract>()); _connector = new GuestHoleConnector(_serviceManager, _appSettings, guestHoleState, _config, _guestHoleServers); }
public GuestHoleConnector( IVpnServiceManager vpnServiceManager, IVpnConfig openVpnConfig, GuestHoleState guestHoleState, Common.Configuration.Config config, ICollectionStorage <GuestHoleServerContract> guestHoleServers) { _guestHoleServers = guestHoleServers; _config = config; _guestHoleState = guestHoleState; _vpnServiceManager = vpnServiceManager; _openVpnConfig = openVpnConfig; }
public GuestHoleConnector( IVpnServiceManager vpnServiceManager, IAppSettings appSettings, GuestHoleState guestHoleState, Common.Configuration.Config config, ICollectionStorage <GuestHoleServerContract> guestHoleServers) { _guestHoleServers = guestHoleServers; _config = config; _guestHoleState = guestHoleState; _vpnServiceManager = vpnServiceManager; _appSettings = appSettings; }
public UserLocationService( IApiClient api, IUserStorage userStorage, INetworkInterfaces networkInterfaces, GuestHoleState guestHoleState) { _guestHoleState = guestHoleState; _api = api; _userStorage = userStorage; _updateAction = new SingleAction(UpdateAction); _delayedUpdateAction = new SingleAction(DelayedUpdateAction); networkInterfaces.NetworkAddressChanged += NetworkInterfaces_NetworkAddressChanged; }
public AlternativeHostHandler( DohClients dohClients, MainHostname mainHostname, IAppSettings appSettings, GuestHoleState guestHoleState, string apiHost) { _guestHoleState = guestHoleState; _mainHostname = mainHostname; _dohClients = dohClients; _appSettings = appSettings; _apiHost = apiHost; _activeBackendHost = apiHost; _fetchProxies = new SingleAction(FetchProxies); }
public VpnManager( ILogger logger, ProfileConnector profileConnector, IVpnServiceManager vpnServiceManager, IAppSettings appSettings, GuestHoleState guestHoleState, IUserStorage userStorage) { _logger = logger; _profileConnector = profileConnector; _appSettings = appSettings; _vpnServiceManager = vpnServiceManager; _guestHoleState = guestHoleState; _userStorage = userStorage; _lastServerCandidates = _profileConnector.ServerCandidates(null); }
public VpnConnector( ProfileConnector profileConnector, ProfileManager profileManager, IAppSettings appSettings, GuestHoleState guestHoleState, IUserStorage userStorage, INetworkInterfaceLoader networkInterfaceLoader) { _profileConnector = profileConnector; _profileManager = profileManager; _appSettings = appSettings; _guestHoleState = guestHoleState; _userStorage = userStorage; _networkInterfaceLoader = networkInterfaceLoader; LastServerCandidates = _profileConnector.ServerCandidates(null); }
public VpnManager( ProfileConnector profileConnector, ProfileManager profileManager, IVpnServiceManager vpnServiceManager, IAppSettings appSettings, GuestHoleState guestHoleState, IUserStorage userStorage, INetworkInterfaceLoader networkInterfaceLoader, IPopupWindows popupWindows) { _profileConnector = profileConnector; _profileManager = profileManager; _vpnServiceManager = vpnServiceManager; _appSettings = appSettings; _guestHoleState = guestHoleState; _userStorage = userStorage; _networkInterfaceLoader = networkInterfaceLoader; _popupWindows = popupWindows; _lastServerCandidates = _profileConnector.ServerCandidates(null); }
private void RegisterEvents() { IVpnServiceManager vpnServiceManager = Resolve <IVpnServiceManager>(); UserAuth userAuth = Resolve <UserAuth>(); AppWindow appWindow = Resolve <AppWindow>(); IAppSettings appSettings = Resolve <IAppSettings>(); Resolve <ISettingsServiceClientManager>(); Resolve <IServerUpdater>().ServersUpdated += (sender, e) => { IEnumerable <IServersAware> instances = Resolve <IEnumerable <IServersAware> >(); foreach (IServersAware instance in instances) { instance.OnServersUpdated(); } }; Resolve <IUserLocationService>().UserLocationChanged += (sender, location) => { IEnumerable <IUserLocationAware> instances = Resolve <IEnumerable <IUserLocationAware> >(); foreach (IUserLocationAware instance in instances) { instance.OnUserLocationChanged(location); } }; Resolve <IAnnouncements>().AnnouncementsChanged += (sender, e) => { IEnumerable <IAnnouncementsAware> instances = Resolve <IEnumerable <IAnnouncementsAware> >(); foreach (IAnnouncementsAware instance in instances) { instance.OnAnnouncementsChanged(); } }; userAuth.UserLoggingIn += (sender, e) => OnUserLoggingIn(); userAuth.UserLoggedIn += async(sender, e) => { GuestHoleState guestHoleState = Resolve <GuestHoleState>(); await Resolve <IServerUpdater>().Update(); if (guestHoleState.Active) { await Resolve <IVpnServiceManager>().Disconnect(VpnError.NoneKeepEnabledKillSwitch); guestHoleState.SetState(false); } IEnumerable <ILoggedInAware> instances = Resolve <IEnumerable <ILoggedInAware> >(); foreach (ILoggedInAware instance in instances) { instance.OnUserLoggedIn(); } await SwitchToAppWindow(e.AutoLogin); }; userAuth.UserLoggedOut += (sender, e) => { Resolve <IModals>().CloseAll(); SwitchToLoginWindow(); Resolve <AppWindow>().Hide(); IEnumerable <ILogoutAware> instances = Resolve <IEnumerable <ILogoutAware> >(); foreach (ILogoutAware instance in instances) { instance.OnUserLoggedOut(); } }; Resolve <IUserStorage>().UserDataChanged += (sender, e) => { IEnumerable <IUserDataAware> instances = Resolve <IEnumerable <IUserDataAware> >(); foreach (IUserDataAware instance in instances) { instance.OnUserDataChanged(); } }; Resolve <IUserStorage>().VpnPlanChanged += async(sender, e) => { IEnumerable <IVpnPlanAware> instances = Resolve <IEnumerable <IVpnPlanAware> >(); foreach (IVpnPlanAware instance in instances) { await instance.OnVpnPlanChangedAsync(e); } }; Resolve <SyncProfiles>().SyncStatusChanged += (sender, e) => { IEnumerable <IProfileSyncStatusAware> instances = Resolve <IEnumerable <IProfileSyncStatusAware> >(); foreach (IProfileSyncStatusAware instance in instances) { instance.OnProfileSyncStatusChanged(e.Status, e.ErrorMessage, e.ChangesSyncedAt); } }; Resolve <PinFactory>().PinsChanged += (sender, e) => { IEnumerable <IPinChangeAware> instances = Resolve <IEnumerable <IPinChangeAware> >(); foreach (IPinChangeAware instance in instances) { instance.OnPinsChanged(); } }; vpnServiceManager.RegisterCallback(async(e) => { Resolve <IVpnManager>().OnVpnStateChanged(e); await Resolve <LoginViewModel>().OnVpnStateChanged(e); await Resolve <GuestHoleConnector>().OnVpnStateChanged(e); }); Resolve <IVpnManager>().VpnStateChanged += (sender, e) => { IEnumerable <IVpnStateAware> instances = Resolve <IEnumerable <IVpnStateAware> >(); foreach (IVpnStateAware instance in instances) { instance.OnVpnStateChanged(e); } Resolve <IEventAggregator>().PublishOnCurrentThread(e); }; Resolve <UpdateService>().UpdateStateChanged += (sender, e) => { IEnumerable <IUpdateStateAware> instances = Resolve <IEnumerable <IUpdateStateAware> >(); foreach (IUpdateStateAware instance in instances) { instance.OnUpdateStateChanged(e); } }; Resolve <P2PDetector>().TrafficForwarded += (sender, ip) => { IEnumerable <ITrafficForwardedAware> instances = Resolve <IEnumerable <ITrafficForwardedAware> >(); foreach (ITrafficForwardedAware instance in instances) { instance.OnTrafficForwarded(ip); } }; Resolve <SidebarManager>().ManualSidebarModeChangeRequested += appWindow.OnManualSidebarModeChangeRequested; appSettings.PropertyChanged += (sender, e) => { if (e.PropertyName == nameof(IAppSettings.Language)) { TranslationSource.Instance.CurrentCulture = new CultureInfo(appSettings.Language); } IEnumerable <ISettingsAware> instances = Resolve <IEnumerable <ISettingsAware> >(); foreach (ISettingsAware instance in instances) { instance.OnAppSettingsChanged(e); } }; Resolve <Onboarding.Onboarding>().StepChanged += (sender, e) => { IEnumerable <IOnboardingStepAware> instances = Resolve <IEnumerable <IOnboardingStepAware> >(); foreach (IOnboardingStepAware instance in instances) { instance.OnStepChanged(e); } }; Resolve <TrialTimer>().TrialTimerTicked += (sender, e) => { IEnumerable <ITrialDurationAware> instances = Resolve <IEnumerable <ITrialDurationAware> >(); foreach (ITrialDurationAware instance in instances) { instance.OnTrialSecondElapsed(e); } }; Resolve <Trial.Trial>().StateChanged += async(sender, e) => { IEnumerable <ITrialStateAware> instances = Resolve <IEnumerable <ITrialStateAware> >(); foreach (ITrialStateAware instance in instances) { await instance.OnTrialStateChangedAsync(e); } }; Resolve <GuestHoleState>().GuestHoleStateChanged += (sender, active) => { IEnumerable <IGuestHoleStateAware> instances = Resolve <IEnumerable <IGuestHoleStateAware> >(); foreach (IGuestHoleStateAware instance in instances) { instance.OnGuestHoleStateChanged(active); } }; Resolve <EventClient>().ApiDataChanged += async(sender, e) => { IEnumerable <IApiDataChangeAware> instances = Resolve <IEnumerable <IApiDataChangeAware> >(); foreach (IApiDataChangeAware instance in instances) { await instance.OnApiDataChanged(e); } }; Resolve <UnauthorizedResponseHandler>().SessionExpired += (sender, e) => { Resolve <ExpiredSessionHandler>().Execute(); }; Resolve <OutdatedAppHandler>().AppOutdated += Resolve <OutdatedAppNotification>().OnAppOutdated; Resolve <IModals>(); Resolve <InsecureNetworkNotification>(); }