Пример #1
0
        public async Task <Demo> GetDemoHeaderAsync(string demoFilePath)
        {
            Demo demo = await Task.Run(() => DemoAnalyzer.ParseDemoHeader(demoFilePath));

            if (demo != null)
            {
                // Update the demo name and path because it may be renamed / moved
                demo.Name = Path.GetFileName(demoFilePath);
                demo.Path = demoFilePath;
            }

            return(demo);
        }
Пример #2
0
        public async Task <Demo> AnalyzeDemo(Demo demo)
        {
            if (!File.Exists(demo.Path))
            {
                // Demo may be moved to an other folder, just clear cache
                await _cacheService.RemoveDemo(demo);
            }

            DemoAnalyzer analyzer = DemoAnalyzer.Factory(demo);

            demo = await analyzer.AnalyzeDemoAsync();

            return(demo);
        }
Пример #3
0
        public async Task <Demo> AnalyzeDemo(Demo demo, CancellationToken token, Action <string, float> progressCallback = null)
        {
            if (!File.Exists(demo.Path))
            {
                // Demo may be moved to an other folder, just clear cache
                await _cacheService.RemoveDemo(demo.Id);
            }

            DemoAnalyzer analyzer = DemoAnalyzer.Factory(demo);

            demo = await analyzer.AnalyzeDemoAsync(token, progressCallback);

            return(demo);
        }
Пример #4
0
        public async Task <Demo> AnalyzePlayersPosition(Demo demo)
        {
            if (!File.Exists(demo.Path))
            {
                // Demo may be moved to an other folder, just clear cache
                await _cacheService.RemoveDemo(demo);
            }

            DemoAnalyzer analyzer = DemoAnalyzer.Factory(demo);

            analyzer.AnalyzePlayersPosition = true;

            demo = await analyzer.AnalyzeDemoAsync();

            await _cacheService.WriteDemoDataCache(demo);

            return(demo);
        }
Пример #5
0
        public static bool SetHardware(Hardware hardware, ref ISwitch iswitch, ref VirtualVNA.NetworkAnalyzer.NetworkAnalyzer iNetworkAnalyzer, ref string msg, Func <DialogResult> blockedMsg)
        {
            try
            {
                switch (hardware.SwitchBox)
                {
                case SwitchBox.MCU:
                    iswitch = new SwitchMcu(hardware.VisaSwitchBox, hardware.SwitchResponseTime);
                    break;

                case SwitchBox.Demo:
                    iswitch = new SwitchDemo();
                    break;

                case SwitchBox.Manual:
                    iswitch = new SwitchManual(blockedMsg);
                    break;
                }


                switch (hardware.AnalyzerType)
                {
                case NetworkAnalyzerType.Demo:
                    iNetworkAnalyzer = new DemoAnalyzer(iswitch, hardware.VisaNetWorkAnalyzer, hardware.AnalyzerResponseTime);
                    break;

                case NetworkAnalyzerType.N5224A:
                    iNetworkAnalyzer = new N5224A(iswitch, hardware.VisaNetWorkAnalyzer, hardware.AnalyzerResponseTime);
                    break;
                }



                return(true);
            }
            catch (Exception e)
            {
                msg = e.Message;
                return(false);
            }
        }
Пример #6
0
        private async Task <Demo> GetDemoHeaderAsync(string demoFilePath)
        {
            var demo = await Task.Run(() => DemoAnalyzer.ParseDemoHeader(demoFilePath));

            if (demo == null)
            {
                return(null);
            }

            // If demo is in cache we retrieve its data
            bool demosIsCached = _cacheService.HasDemoInCache(demo);

            if (demosIsCached)
            {
                demo = await _cacheService.GetDemoDataFromCache(demo);

                demo.Source = Source.Factory(demo.SourceName);
                // Update the demo name and path because it may be renamed / moved
                demo.Name = Path.GetFileName(demoFilePath);
                demo.Path = demoFilePath;
            }
            return(demo);
        }