コード例 #1
0
 /// <summary>
 /// Invokes the <see cref="DeviceConnecting"/> event.
 /// </summary>
 protected void OnDeviceConnecting(Device device)
 {
     if (DeviceConnecting != null)
     {
         DeviceConnecting.Invoke(device);
     }
 }
コード例 #2
0
 /// <summary>
 /// Invokes the <see cref="DeviceConnecting"/> event.
 /// </summary>
 private void OnDeviceConnecting(Device device)
 {
     if (DeviceConnecting != null)
     {
         DeviceConnecting.Invoke(device);
     }
 }
コード例 #3
0
ファイル: Device.cs プロジェクト: RSG-XGame/ScanSystem
        public bool Open()
        {
            CheckDisposed();
            bool result = false;

            try
            {
                if (!Busy)
                {
                    DeviceConnectingEventArgs args = new DeviceConnectingEventArgs {
                        IPAddress = Settings.IPAddress, AcceptConnection = true
                    };
                    DeviceConnecting?.Invoke(args);
                    if (args.AcceptConnection)
                    {
                        OpenClient();
                        result = StartListen();
                        Connect();
                        DeviceConnected?.Invoke(this);
                    }
                }
            }
            catch (Exception ex)
            {
                DeviceError?.Invoke(this, new DeviceErrorEventArgs {
                    Ex = ex
                });
            }
            return(result);
        }
コード例 #4
0
        /// <summary>
        /// On receiving a connection status change from <see cref="WearableControl"/>, invoke the appropriate
        /// local event.
        /// </summary>
        /// <param name="status"></param>
        /// <param name="device"></param>
        private void OnConnectionStatusChanged(ConnectionStatus status, Device?device)
        {
            switch (status)
            {
            case ConnectionStatus.Disconnected:
                if (DeviceDisconnected != null)
                {
                    DeviceDisconnected.Invoke(device.GetValueOrDefault());
                }
                break;

            case ConnectionStatus.Searching:
                if (DeviceSearching != null)
                {
                    DeviceSearching.Invoke();
                }
                break;

            case ConnectionStatus.AutoReconnect:
            case ConnectionStatus.Connecting:
                ToggleLockScreen(true);
                if (DeviceConnecting != null)
                {
                    DeviceConnecting.Invoke();
                }
                break;

            case ConnectionStatus.SecurePairingRequired:
                if (DeviceSecurePairingRequired != null)
                {
                    DeviceSecurePairingRequired.Invoke();
                }
                break;

            case ConnectionStatus.FirmwareUpdateAvailable:
                OnFirmwareUpdateCheck(
                    false,
                    device.GetValueOrDefault(),
                    _wearableControl.ActiveProvider.GetFirmwareUpdateInformation());
                break;

            case ConnectionStatus.FirmwareUpdateRequired:
                OnFirmwareUpdateCheck(
                    true,
                    device.GetValueOrDefault(),
                    _wearableControl.ActiveProvider.GetFirmwareUpdateInformation());
                break;

            case ConnectionStatus.Connected:
                ToggleLockScreen(true);
                if (DeviceConnectSuccess != null)
                {
                    DeviceConnectSuccess.Invoke();
                }
                break;

            case ConnectionStatus.Failed:
                ToggleLockScreen(true);
                if (DeviceConnectFailure != null)
                {
                    DeviceConnectFailure.Invoke();
                }
                break;

            case ConnectionStatus.Cancelled:
                CheckForPermissionsAndTrySearch();
                break;

            default:
                throw new ArgumentOutOfRangeException("status", status, null);
            }
        }