/// <summary> /// Invokes the <see cref="DeviceConnecting"/> event. /// </summary> protected void OnDeviceConnecting(Device device) { if (DeviceConnecting != null) { DeviceConnecting.Invoke(device); } }
/// <summary> /// Invokes the <see cref="DeviceConnecting"/> event. /// </summary> private void OnDeviceConnecting(Device device) { if (DeviceConnecting != null) { DeviceConnecting.Invoke(device); } }
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); }
/// <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); } }