public App() { _logger.Info("Starting application."); CommandLineOptions = new Options(); Parser.Default.ParseArguments(Environment.GetCommandLineArgs(), CommandLineOptions); // crash handling CrashManager = new CrashManager(_logger); DispatcherUnhandledException += CrashManager.OnDispatcherUnhandledException; }
public DownloadManager(IPlatformManager platformManager, IJobManager jobManager, IVpdbClient vpdbClient, ISettingsManager settingsManager, IMessageManager messageManager, IDatabaseManager databaseManager, ILogger logger, CrashManager crashManager) { _platformManager = platformManager; _jobManager = jobManager; _vpdbClient = vpdbClient; _settingsManager = settingsManager; _messageManager = messageManager; _databaseManager = databaseManager; _logger = logger; _crashManager = crashManager; // setup download callbacks jobManager.WhenDownloaded.Subscribe(OnDownloadCompleted); // setup flavor matchers as soon as settings are available. _settingsManager.Settings.WhenAny( s => s.DownloadOrientation, s => s.DownloadOrientationFallback, s => s.DownloadLighting, s => s.DownloadLightingFallback, (a, b, c, d) => Unit.Default).Subscribe(_ => { _logger.Info("Setting up flavor matchers."); _flavorMatchers.Clear(); _flavorMatchers.Add(new OrientationMatcher(_settingsManager.Settings)); _flavorMatchers.Add(new LightingMatcher(_settingsManager.Settings)); }); }
public MessageManager(IDatabaseManager databaseManager, CrashManager crashManager) { _databaseManager = databaseManager; _crashManager = crashManager; }
public VersionManager(CrashManager crashManager, ILogger logger) { _logger = logger; _crashManager = crashManager; }
public VisualPinballManager(CrashManager crashManager, ILogger logger) { _crashManager = crashManager; _logger = logger; }
public MarshallManager(ILogger logger, CrashManager crashManager) { _logger = logger; _crashManager = crashManager; }
public VersionManager(CrashManager crashManager, ILogger logger) { _logger = logger; _crashManager = crashManager; }
public DatabaseManager(ISettingsManager settingsManager, CrashManager crashManager, ILogger logger) { _settingsManager = settingsManager; _crashManager = crashManager; _logger = logger; }
public DatabaseManager(ISettingsManager settingsManager, CrashManager crashManager, ILogger logger) { _settingsManager = settingsManager; _crashManager = crashManager; _logger = logger; // throttle saving _save .ObserveOn(Scheduler.Default) .Sample(TimeSpan.FromMilliseconds(500)) .Subscribe(_ => { MarshallDatabase(); }); }
public MessageManager(IDatabaseManager databaseManager, CrashManager crashManager) { _databaseManager = databaseManager; _crashManager = crashManager; }
public PusherAuthorizer(IVpdbClient vpdbClient, CrashManager crashManager, ILogger logger) { _vpdbClient = vpdbClient; _crashManager = crashManager; _logger = logger; }
/// <summary> /// Constructor sets up queue and creates download folder if non-existing. /// </summary> public JobManager(IDatabaseManager databaseManager, IMessageManager messageManager, ILogger logger, CrashManager crashManager) { CurrentJobs = databaseManager.GetJobs(); _databaseManager = databaseManager; _messageManager = messageManager; _logger = logger; _crashManager = crashManager; // setup transfer queue _queue = _jobs .ObserveOn(Scheduler.Default) .Select(job => Observable.DeferAsync(async token => Observable.Return(await ProcessDownload(job, token)))) .Merge(MaximalSimultaneousDownloads) .Subscribe(job => { _databaseManager.Save(); if (job.Status != Job.JobStatus.Aborted) { _whenDownloaded.OnNext(job); } }, error => { _databaseManager.Save(); // todo treat error in ui _logger.Error(error, "Error: {0}", error.Message); }); if (!Directory.Exists(_downloadPath)) { _logger.Info("Creating non-existing download folder at {0}.", _downloadPath); Directory.CreateDirectory(_downloadPath); } }
public VpdbClient(ISettingsManager settingsManager, IVersionManager versionManager, IMessageManager messageManager, IScreen screen, ILogger logger, CrashManager crashManager) { _settingsManager = settingsManager; _versionManager = versionManager; _messageManager = messageManager; _logger = logger; _screen = screen; _crashManager = crashManager; }