예제 #1
0
        private void SetCurrentEngine(CaptureMethod method)
        {
            var oldEngine = currentCaptureEngine;

            switch (method)
            {
            case CaptureMethod.AutoDetect:
            case CaptureMethod.BitBlt:
            case CaptureMethod.Wdm:
            case CaptureMethod.DirectX:
                currentCaptureEngine = autoCaptureEngine;
                break;

            case CaptureMethod.Log:
                currentCaptureEngine = logCaptureEngine;
                break;
            }

            if (oldEngine != currentCaptureEngine &&
                oldEngine.IsRunning)
            {
                oldEngine.Stop();
                currentCaptureEngine.StartAsync();
            }
        }
예제 #2
0
 public TestsViewModel(IEventAggregator events,
                       ICaptureEngine captureEngine)
 {
     DisplayName        = "Tests";
     this.events        = events;
     this.captureEngine = captureEngine;
     events.Subscribe(this);
 }
예제 #3
0
 public Startup(
     IEventAggregator events,
     ICaptureEngine captureEngine,
     CrashManager crashManager)
 {
     this.events        = events;
     this.captureEngine = captureEngine;
     captureEngine.UnhandledException += (s, e) => crashManager.HandleException(e.ExceptionObject as Exception);
     Application.Current.Exit         += CurrentOnExit;
 }
 public EngineSettingsViewModel(
     IEventAggregator events,
     ICaptureEngine captureEngine,
     UserPreferences userPreferences)
 {
     _events = events;
     _captureEngine = captureEngine;
     _userPreferences = userPreferences;
     DisplayName = "Engine settings:";
     Speeds = new BindableCollection<SettingModel>(defaultSpeeds);
     Order = 0;
 }
 public EngineSettingsViewModel(
     Func<HearthStatsDbContext> dbContext,
     ICaptureEngine captureEngine,
     SettingsManager settingsManager)
 {
     this.dbContext = dbContext;
     this.captureEngine = captureEngine;
     this.settingsManager = settingsManager;
     this.DisplayName = "Engine settings:";
     this.Speeds = new BindableCollection<SettingModel>(defaultSpeeds);
     Order = 0;
 }
 public EngineSettingsViewModel(
     IEventAggregator events,
     ICaptureEngine captureEngine,
     UserPreferences userPreferences)
 {
     _events          = events;
     _captureEngine   = captureEngine;
     _userPreferences = userPreferences;
     DisplayName      = "Engine settings:";
     Speeds           = new BindableCollection <SettingModel>(defaultSpeeds);
     Order            = 0;
 }
 public EngineSettingsViewModel(
     Func <HearthStatsDbContext> dbContext,
     ICaptureEngine captureEngine,
     SettingsManager settingsManager)
 {
     this.dbContext       = dbContext;
     this.captureEngine   = captureEngine;
     this.settingsManager = settingsManager;
     this.DisplayName     = "Engine settings:";
     this.Speeds          = new BindableCollection <SettingModel>(defaultSpeeds);
     Order = 0;
 }
예제 #8
0
 public StartStopCommandBarViewModel(
     IDialogManager dialogManager,
     IEventAggregator eventAggregator,
     ICaptureEngine captureEngine)
 {
     this.Order         = -2;
     this.dialogManager = dialogManager;
     this.events        = eventAggregator;
     this.captureEngine = captureEngine;
     this.events.Subscribe(this);
     // lol
     this.IsStarted = captureEngine.IsRunning;
 }
예제 #9
0
        public DiagnosisViewModel(
            IEventAggregator events,
            ICaptureEngine captureEngine)
        {
            this.events        = events;
            this.captureEngine = captureEngine;
            this.DisplayName   = "Diag";
            Order = 1000;

            this.engineEvents = new BindableCollection <LogMessageModel>();
            this.logMessages  = new BindableCollection <LogMessageModel>();
            // CaptureEngineLogger.Hook(LogAction);
            events.Subscribe(this);
        }
예제 #10
0
 public Startup(
     IEventAggregator events,
     SettingsManager settingsManager,
     ICaptureEngine captureEngine,
     ILogCaptureEngine logCaptureEngine,
     CrashManager crashManager)
 {
     this.events                       = events;
     this.settingsManager              = settingsManager;
     this.captureEngine                = captureEngine;
     this.logCaptureEngine             = logCaptureEngine;
     this.crashManager                 = crashManager;
     captureEngine.UnhandledException += this.OnUnhandledException;
     Application.Current.Exit         += CurrentOnExit;
 }
예제 #11
0
 public LogFlyoutViewModel(
     Func <HearthStatsDbContext> dbContext,
     ICaptureEngine captureEngine)
 {
     this.dbContext     = dbContext;
     this.captureEngine = captureEngine;
     Name   = "log";
     Header = "Log";
     SetPosition(Position.Right);
     // CaptureEngineLogger.Hook(LogAction);
     warnEnabled  = true;
     errorEnabled = true;
     infoEnabled  = true;
     ConfigureCaptureTarget();
     RefreshLogSettings();
 }
예제 #12
0
        public StartStopCommandBarViewModel(
            IEventAggregator eventAggregator,
            ICaptureEngine captureEngine)
        {
            Order                   = -2;
            _captureEngine          = captureEngine;
            _captureEngine.Started += CaptureEngine_Started;
            _captureEngine.Stopped += CaptureEngine_Stopped;
            eventAggregator.Subscribe(this);
            IsStarted = captureEngine.IsRunning;

            using (var reg = new EngineRegistrySettings())
            {
                ShowControls = reg.GetOrCreate("ShowControls", true);
            }
        }
 public LogFlyoutViewModel(
     Func<HearthStatsDbContext> dbContext,
     ICaptureEngine captureEngine)
 {
     this.dbContext = dbContext;
     this.captureEngine = captureEngine;
     Name = "log";
     Header = "Log";
     SetPosition(Position.Right);
     // CaptureEngineLogger.Hook(LogAction);
     warnEnabled = true;
     errorEnabled = true;
     infoEnabled = true;
     ConfigureCaptureTarget();
     RefreshLogSettings();
 }
예제 #14
0
 public AreaDesignerViewModel(IEventAggregator events,
                              IScanAreaProvider scanAreaProvider,
                              ICaptureEngine captureEngine,
                              IPerceptualHash hasher,
                              ICornerDetector cornerDetecter)
 {
     // TODO: use MEF
     this.hasher         = hasher;
     this.cornerDetecter = cornerDetecter;
     DisplayName         = "Area Designer";
     this.events         = events;
     this.captureEngine  = captureEngine;
     Order               = 2000;
     regions             = new BindableCollection <RegionModel>();
     this.scanAreasModel = new ScanAreasModel(scanAreaProvider);
     this.events         = events;
     events.Subscribe(this);
 }
        private void SetCurrentEngine(CaptureMethod method)
        {
            var oldEngine = currentCaptureEngine;
            switch (method)
            {
                case CaptureMethod.AutoDetect:
                case CaptureMethod.BitBlt:
                case CaptureMethod.Wdm:
                case CaptureMethod.DirectX:
                    currentCaptureEngine = autoCaptureEngine;
                    break;
                case CaptureMethod.Log:
                    currentCaptureEngine = logCaptureEngine;
                    break;
            }

            if (oldEngine != currentCaptureEngine
                && oldEngine.IsRunning)
            {
                oldEngine.Stop();
                currentCaptureEngine.StartAsync();
            }
        }
예제 #16
0
 public void Unsubscribe(ICaptureEngine captureEngine)
 {
     captureEngine.MessageCaptured -= OnMessageCaptured;
 }
예제 #17
0
 public void Subscribe(ICaptureEngine captureEngine)
 {
     captureEngine.MessageCaptured += OnMessageCaptured;
 }
예제 #18
0
 static void InitCaptureEngine()
 {
     _captureEngine = new LyncCaptureEngine();
 }
 public CaptureEngine(IAutoCaptureEngine autoCaptureEngine, ILogCaptureEngine logCaptureEngine)
 {
     this.autoCaptureEngine    = autoCaptureEngine;
     this.logCaptureEngine     = logCaptureEngine;
     this.currentCaptureEngine = autoCaptureEngine;
 }
 public CaptureEngine(IAutoCaptureEngine autoCaptureEngine, ILogCaptureEngine logCaptureEngine)
 {
     this.autoCaptureEngine = autoCaptureEngine;
     this.logCaptureEngine = logCaptureEngine;
     currentCaptureEngine = autoCaptureEngine;
 }
예제 #21
0
 public ChatParser(ICaptureEngine captureEngine, string captureAreaName)
 {
     _captureAreaName            = captureAreaName;
     captureEngine.TextCaptured += CaptureEngine_TextCaptured;
 }