コード例 #1
0
        public ViewController(
            ISessionFactory sessionFactory,
            IProjectFactory projectFactory,
            IIbtFileParser telemetryFileParser,
            IOptionsMonitor <iRacingTelemetryOptions> optionsAccessor,
            ILog log,
            IServiceProvider serviceProvider,
            IDisplayInfoService displayInfoService)
        {
            _serviceProvider = serviceProvider;

            _sessionFactory      = (sessionFactory == null) ? throw new ArgumentNullException(nameof(sessionFactory)) : sessionFactory;
            _projectFactory      = (projectFactory == null) ? throw new ArgumentNullException(nameof(projectFactory)) : projectFactory;
            _displayInfoService  = (displayInfoService == null) ? throw new ArgumentNullException(nameof(displayInfoService)) : displayInfoService;
            _telemetryFileParser = (telemetryFileParser == null) ? throw new ArgumentNullException(nameof(telemetryFileParser)) : telemetryFileParser;

            _options = (optionsAccessor == null) ? throw new ArgumentNullException(nameof(optionsAccessor)) : optionsAccessor.CurrentValue;
            Log      = (log == null) ? throw new ArgumentNullException(nameof(log)) : log;

            MdiChildren = new ObservableCollection <IMdiChildForm>();
            MdiChildren.CollectionChanged += MdiChildren_CollectionChanged;

            PropertyChanged += TelemetryViewController_PropertyChanged;
            ProjectClosing  += TelemetryViewController_ProjectClosing;

            Task.Run(async() =>
            {
                await LoadFieldDefinitionsAsync();
                FieldDefinitions.CollectionChanged += FieldDefinitions_CollectionChanged;

                await LoadFieldDisplayInfos();
                FieldDisplayInfos.CollectionChanged += FieldDisplayInfos_CollectionChanged;
            });
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: RobRobertsCE/Telemetry
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            var services = new ServiceCollection();

            log.Info("Hello logging world!");

            services.AddSingleton <ILog>(log);
            services.AddCommon();
            services.AddTelemetryViewer();

            _serviceProvider = services.BuildServiceProvider();

            IOptionsMonitor <iRacingTelemetryOptions> optionsAccessor = _serviceProvider.GetRequiredService <IOptionsMonitor <iRacingTelemetryOptions> >();
            iRacingTelemetryOptions options = (optionsAccessor == null) ? throw new ArgumentNullException(nameof(optionsAccessor)) : optionsAccessor.CurrentValue;

            //ILoggerFactory loggerFactory = _serviceProvider.GetRequiredService<ILoggerFactory>();
            //loggerFactory.AddConsole();
            //var logger = loggerFactory.CreateLogger<MainView>();

            var controller = _serviceProvider.GetRequiredService <IViewController>();

            Application.Run(new MainView(
                                controller,
                                _serviceProvider,
                                log,
                                options));
        }
コード例 #3
0
 protected JsonFileRepository(
     IOptionsMonitor <iRacingTelemetryOptions> optionsAccessor,
     ILog log)
 {
     _options = (optionsAccessor == null) ? throw new ArgumentNullException(nameof(optionsAccessor)) : optionsAccessor.CurrentValue;
     _logger  = (log == null) ? throw new ArgumentNullException(nameof(log)) : log;
 }
コード例 #4
0
        protected JsonFileRepository(
            IOptionsMonitor <iRacingTelemetryOptions> optionsAccessor,
            ILoggerFactory loggerFactory)
        {
            _options = (optionsAccessor == null) ? throw new ArgumentNullException(nameof(optionsAccessor)) : optionsAccessor.CurrentValue;
            var localLoggerFactory = (loggerFactory == null) ? throw new ArgumentNullException(nameof(loggerFactory)) : loggerFactory;

            localLoggerFactory.AddConsole((category, logLevel) => logLevel >= LogLevel.Trace);
            _logger = localLoggerFactory.CreateLogger <JsonFileRepository>();
        }
コード例 #5
0
 public HistogramDisplay(
     IServiceProvider serviceProvider,
     log4net.ILog log,
     iRacingTelemetryOptions options)
     : base(
         serviceProvider,
         log,
         options,
         DisplayTypes.Histogram)
 {
     InitializeComponent();
 }
コード例 #6
0
 public WaveformDisplay(
     IServiceProvider serviceProvider,
     log4net.ILog log,
     iRacingTelemetryOptions options,
     IFormDisplayInfo displayInfo)
     : this(
         serviceProvider,
         log,
         options)
 {
     this.FormDisplayInfo = displayInfo;
 }
コード例 #7
0
 public TrackMapDisplay(
     IServiceProvider serviceProvider,
     log4net.ILog log,
     iRacingTelemetryOptions options)
     : base(
         serviceProvider,
         log,
         options,
         DisplayTypes.TrackMap)
 {
     InitializeComponent();
 }
コード例 #8
0
 public MdiChildForm(
     IServiceProvider serviceProvider,
     log4net.ILog log,
     iRacingTelemetryOptions options,
     DisplayTypes displayType)
     : base(serviceProvider,
            log,
            options,
            displayType)
 {
     InitializeComponent();
 }
コード例 #9
0
 public SessionDetailsDisplay(
     IServiceProvider serviceProvider,
     log4net.ILog log,
     iRacingTelemetryOptions options)
     : base(
         serviceProvider,
         log,
         options,
         DisplayTypes.SessionDetails)
 {
     InitializeComponent();
 }
コード例 #10
0
        public GoogleTrackMapService(
            IImageHelper imageHelper,
            IOptionsMonitor <iRacingTelemetryOptions> optionsAccessor,
            ILoggerFactory loggerFactory)
        {
            _imageHelper = (imageHelper == null) ? throw new ArgumentNullException(nameof(imageHelper)) : imageHelper;
            _options     = (optionsAccessor == null) ? throw new ArgumentNullException(nameof(optionsAccessor)) : optionsAccessor.CurrentValue;
            var localLoggerFactory = (loggerFactory == null) ? throw new ArgumentNullException(nameof(loggerFactory)) : loggerFactory;

            localLoggerFactory.AddConsole((category, logLevel) => logLevel >= LogLevel.Trace);
            _logger = localLoggerFactory.CreateLogger <GoogleTrackMapService>();
        }
コード例 #11
0
ファイル: MainView.cs プロジェクト: RobRobertsCE/Telemetry
 public MainView(
     IViewController controller,
     IServiceProvider serviceProvider,
     ILog log,
     iRacingTelemetryOptions options)
     : base(
         controller,
         serviceProvider,
         log,
         options)
 {
     InitializeComponent();
 }
コード例 #12
0
 public TelemetryForm(
     IServiceProvider serviceProvider,
     ILog log,
     iRacingTelemetryOptions options,
     DisplayTypes displayType)
     : this()
 {
     FormDisplayInfo.DisplayType = displayType;
     FormDisplayInfo.Name        = displayType.ToString();
     _serviceProvider            = (serviceProvider == null) ? throw new ArgumentNullException(nameof(serviceProvider)) : serviceProvider;
     Log     = (log == null) ? throw new ArgumentNullException(nameof(log)) : log;
     Options = (options == null) ? throw new ArgumentNullException(nameof(options)) : options;
 }
コード例 #13
0
        public MdiParentForm(
            IViewController controller,
            IServiceProvider serviceProvider,
            ILog log,
            iRacingTelemetryOptions options)
            : base(
                serviceProvider,
                log,
                options,
                DisplayTypes.MdiParent)
        {
            InitializeComponent();

            Controller = controller;

            Controller.SetParent(this.WindowHandle);
        }
コード例 #14
0
        private async void TrackMapBuilderView_Load(object sender, EventArgs e)
        {
            try
            {
                _trackMapRepo        = ServiceProvider.GetRequiredService <ITrackMapRepository>();
                _imageHelper         = ServiceProvider.GetRequiredService <IImageHelper>();
                _mapService          = ServiceProvider.GetRequiredService <ITrackMapService>();
                _telemetryFileParser = ServiceProvider.GetRequiredService <IIbtFileParser>();
                IOptionsMonitor <iRacingTelemetryOptions> optionsAccessor = ServiceProvider.GetRequiredService <IOptionsMonitor <iRacingTelemetryOptions> >();
                _options = (optionsAccessor == null) ? throw new ArgumentNullException(nameof(optionsAccessor)) : optionsAccessor.CurrentValue;

                await GetTrackMapList();

                _loading = false;
            }
            catch (Exception ex)
            {
                ExceptionHandler(ex);
            }
        }