public SimConnectManagerViewModel(SimConnectManager simConnectManager) { _simConnectManager = simConnectManager; WeakEventManager <SimConnectManager, SimConnectManager.StateChangedEventArgs> .AddHandler(simConnectManager, nameof(SimConnectManager.StateChanged), OnSimConnectManager_StateChanged); _connectionStateText = GetTextForState(_simConnectManager.ConnectionState); _connectionStateBrush = GetBrushForState(_simConnectManager.ConnectionState); }
protected override async void OnStartup(StartupEventArgs e) { base.DispatcherUnhandledException += App_DispatcherUnhandledException; AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException; await Host.StartAsync(); SingleInstanceManager singleInstanceManager = Host.Services.GetRequiredService <SingleInstanceManager>(); _logger.Value.LogInformation("Starting App."); if (!singleInstanceManager.IsFirstInstance) { _logger.Value.LogInformation("I am not the first instance. Shutting down ..."); base.Shutdown(0); return; } base.ShutdownMode = ShutdownMode.OnExplicitShutdown; singleInstanceManager.SecondInstanceStarted += OnSecondInstanceStarted; bool createUi = true; foreach (string arg in e.Args) { switch (arg) { case "-tray": createUi = false; _logger.Value.LogInformation("Launch argument '{0}' found, don't create a UI.", arg); break; default: _logger.Value.LogWarning("Got invalid launch argument '{0}', ignoring.", arg); break; } } _logger.Value.LogTrace("Setting up tray icon."); TrayIconManager trayIconManager = Host.Services.GetRequiredService <TrayIconManager>(); trayIconManager.IconVisible = true; trayIconManager.ItemExitClick += (sender, eventArgs) => _ = App.GracefulShutdownAsync(); trayIconManager.DoubleClick += (sender, eventArgs) => this.ShowCreateMainWindow(); ProfileRepository profileRepository = Host.Services.GetRequiredService <ProfileRepository>(); await profileRepository.LoadProfilesAsync(); if (createUi) { _logger.Value.LogInformation("Creating MainWindow on startup."); this.ShowCreateMainWindow(); } SimConnectManager scm = Host.Services.GetRequiredService <SimConnectManager>(); await scm.StartAsync(); _ = Host.Services.GetRequiredService <DeviceBindingManager>(); }
public ServicesManager(SimConnectManager manager) { myManager = manager; }