public ConnectionFlowProcessor(
            BleDeviceManager deviceManager,
            IHesAppConnection hesConnection,
            IWorkstationUnlocker workstationUnlocker,
            IScreenActivator screenActivator,
            IClientUiManager ui,
            IHesAccessManager hesAccessManager,
            ISettingsManager <ServiceSettings> serviceSettingsManager,
            ConnectionFlowSubprocessorsStruct subprocs,
            ILog log)
            : base(nameof(ConnectionFlowProcessor), log)
        {
            _deviceManager       = deviceManager;
            _workstationUnlocker = workstationUnlocker;
            _screenActivator     = screenActivator;
            _ui                     = ui;
            _hesConnection          = hesConnection;
            _hesAccessManager       = hesAccessManager;
            _serviceSettingsManager = serviceSettingsManager;

            _subp = subprocs;

            _hesAccessManager.AccessRetractedEvent  += HesAccessManager_AccessRetractedEvent;
            SessionSwitchMonitor.SessionSwitch      += SessionSwitchMonitor_SessionSwitch;
            _serviceSettingsManager.SettingsChanged += ServiceSettingsManager_SettingsChanged;
        }
 public VaultConnectionProcessor(IClientUiManager ui, BondManager bondManager, BleDeviceManager deviceManager, ILog log)
     : base(nameof(VaultConnectionProcessor), log)
 {
     _ui            = ui;
     _bondManager   = bondManager;
     _deviceManager = deviceManager;
 }
Exemple #3
0
 public Program(BleModuleConnection bleModuleConnection, BleDeviceDiscovery bleDeviceDiscovery, BleDeviceManager bleDeviceManager, ILogger <Program> logger = null)
 {
     _bleModuleConnection = bleModuleConnection;
     _bleDeviceDiscovery  = bleDeviceDiscovery;
     _bleDeviceManager    = bleDeviceManager;
     _logger = logger;
 }
        public PipeDeviceConnectionManager(BleDeviceManager deviceManager, IMetaPubSub pubSub, ILog log) :
            base(nameof(PipeDeviceConnectionManager), log)
        {
            _deviceManager     = deviceManager;
            _messenger         = pubSub;
            _pipeDeviceFactory = new PipeDeviceFactory(_deviceManager, log);

            _messenger.Subscribe <RemoteDeviceDisconnectedMessage>(OnRemoteDeviceDisconnected);
            _messenger.Subscribe <RemoteConnection_RemoteCommandMessage>(RemoteConnection_RemoteCommandAsync);
            _messenger.Subscribe <RemoteConnection_VerifyCommandMessage>(RemoteConnection_VerifyCommandAsync);
            _messenger.Subscribe <RemoteConnection_ResetChannelMessage>(RemoteConnection_ResetChannelAsync);
            _messenger.Subscribe <EstablishRemoteDeviceConnectionMessage>(EstablishRemoteDeviceConnection);
        }
        public SessionSwitchLogger(EventSaver eventSaver,
                                   SessionUnlockMethodMonitor sessionUnlockMethodMonitor,
                                   WorkstationLockProcessor workstationLockProcessor,
                                   BleDeviceManager bleDeviceManager,
                                   ILog log)
            : base(nameof(SessionSwitchLogger), log)
        {
            _eventSaver = eventSaver;
            _sessionUnlockMethodMonitor = sessionUnlockMethodMonitor;
            _workstationLockProcessor   = workstationLockProcessor;
            _bleDeviceManager           = bleDeviceManager;

            _workstationLockProcessor.WorkstationLocking += WorkstationLockProcessor_WorkstationLocking;
            SessionSwitchMonitor.SessionSwitch           += SessionSwitchMonitor_SessionSwitch;
        }
Exemple #6
0
        public DeviceReconnectManager(ProximityMonitorManager proximityMonitorManager,
                                      BleDeviceManager deviceManager,
                                      ConnectionFlowProcessor connectionFlowProcessor,
                                      ILog log)
            : base(nameof(DeviceReconnectManager), log)
        {
            _proximityMonitorManager = proximityMonitorManager;
            _deviceManager           = deviceManager;
            _connectionFlowProcessor = connectionFlowProcessor;

            _connectionFlowProcessor.DeviceFinilizingMainFlow += ConnectionFlowProcessor_DeviceFinalizingMainFlow;

            _deviceManager.DeviceRemoved += DeviceManager_DeviceRemoved;

            _proximityMonitorManager.DeviceConnectionLost      += ProximityMonitorManager_DeviceConnectionLost;
            _proximityMonitorManager.DeviceProximityTimeout    += ProximityMonitorManager_DeviceProximityTimeout;
            _proximityMonitorManager.DeviceBelowLockForToLong  += ProximityMonitorManager_DeviceBelowLockForToLong;
            _proximityMonitorManager.DeviceBelowUnlockWarning  += ProximityMonitorManager_DeviceBelowUnlockWarning;
            _proximityMonitorManager.DeviceProximityNormalized += ProximityMonitorManager_DeviceProximityNormalized;
        }
Exemple #7
0
        public ConnectionManagerViewModel(EventLogger log, MetaPubSub hub)
        {
            _log = log;
            _hub = hub;
            _hub.Subscribe <ConnectDeviceCommand>(OnConnectDeviceCommand);
            _hub.Subscribe <StartDiscoveryCommand>(OnStartDiscoveryCommand);
            _hub.Subscribe <EnterBootCommand>(OnEnterBootCommand);
            _hub.Subscribe <DeviceWipedEvent>(OnDeviceWipedEvent);

            var commonAppData = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
            var bondsFilePath = Path.Combine(commonAppData, @"Hideez\bonds");

            // ConnectionManager ============================
            _connectionManager = new BleConnectionManager(log, bondsFilePath);
            _connectionManager.AdapterStateChanged  += ConnectionManager_AdapterStateChanged;
            _connectionManager.AdvertismentReceived += ConnectionManager_AdvertismentReceived;

            // DeviceManager ============================
            _deviceManager = new BleDeviceManager(log, _connectionManager);
        }
 public ProximityConnectionProcessor(
     ConnectionFlowProcessor connectionFlowProcessor,
     IBleConnectionManager bleConnectionManager,
     ISettingsManager <ProximitySettings> proximitySettingsManager,
     ISettingsManager <WorkstationSettings> workstationSettingsManager,
     AdvertisementIgnoreList advIgnoreListMonitor,
     BleDeviceManager bleDeviceManager,
     IWorkstationUnlocker workstationUnlocker,
     IHesAccessManager hesAccessManager,
     ILog log)
     : base(nameof(ProximityConnectionProcessor), log)
 {
     _connectionFlowProcessor    = connectionFlowProcessor ?? throw new ArgumentNullException(nameof(connectionFlowProcessor));
     _bleConnectionManager       = bleConnectionManager ?? throw new ArgumentNullException(nameof(bleConnectionManager));
     _proximitySettingsManager   = proximitySettingsManager ?? throw new ArgumentNullException(nameof(proximitySettingsManager));
     _workstationSettingsManager = workstationSettingsManager ?? throw new ArgumentNullException(nameof(workstationSettingsManager));
     _advIgnoreListMonitor       = advIgnoreListMonitor ?? throw new ArgumentNullException(nameof(advIgnoreListMonitor));
     _bleDeviceManager           = bleDeviceManager ?? throw new ArgumentNullException(nameof(bleDeviceManager));
     _workstationUnlocker        = workstationUnlocker ?? throw new ArgumentNullException(nameof(workstationUnlocker));
     _hesAccessManager           = hesAccessManager ?? throw new ArgumentNullException(nameof(hesAccessManager));
 }
Exemple #9
0
        public WorkstationLockProcessor(
            ConnectionFlowProcessor flowProcessor,
            ProximityMonitorManager proximityMonitorManager,
            BleDeviceManager deviceManager,
            IWorkstationLocker workstationLocker,
            DeviceReconnectManager deviceReconnectManager,
            ILog log)
            : base(nameof(WorkstationLockProcessor), log)
        {
            _flowProcessor           = flowProcessor;
            _proximityMonitorManager = proximityMonitorManager;
            _deviceManager           = deviceManager;
            _workstationLocker       = workstationLocker;
            _deviceReconnectManager  = deviceReconnectManager;

            _flowProcessor.DeviceFinilizingMainFlow += FlowProcessor_DeviceFinalizingMainFlow;

            _proximityMonitorManager.DeviceBelowLockForToLong += ProximityMonitorManager_DeviceBelowLockForToLong;
            _proximityMonitorManager.DeviceProximityTimeout   += ProximityMonitorManager_DeviceProximityTimeout;
            _proximityMonitorManager.DeviceConnectionLost     += ProximityMonitorManager_DeviceConnectionLost;

            _deviceReconnectManager.DeviceDisconnected += DeviceReconnectManager_DeviceDisconnected;
        }
Exemple #10
0
 public ConnectionFlowProcessorFactory(
     BleDeviceManager deviceManager,
     BondManager bondManager,
     IHesAppConnection hesConnection,
     IWorkstationUnlocker workstationUnlocker,
     IScreenActivator screenActivator,
     IClientUiManager ui,
     IHesAccessManager hesAccessManager,
     ISettingsManager <ServiceSettings> serviceSettingsManager,
     ILocalDeviceInfoCache localDeviceInfoCache,
     ILog log)
 {
     _deviceManager       = deviceManager;
     _bondManager         = bondManager;
     _hesConnection       = hesConnection;
     _workstationUnlocker = workstationUnlocker;
     _screenActivator     = screenActivator;
     _ui = ui;
     _hesAccessManager       = hesAccessManager;
     _serviceSettingsManager = serviceSettingsManager;
     _localDeviceInfoCache   = localDeviceInfoCache;
     _log = log;
 }