private void BluetoothGatt_DeviceDisconnected(object sender, DeviceConnectionEventArgs e) { var connDevice = ConnectedDevices.FirstOrDefault(x => x.Id == e.Device.Id); if (connDevice != null) ConnectedDevices.Remove(connDevice); DeviceDisconnected(this, e); }
private void BluetoothGatt_DeviceConnected(object sender, DeviceConnectionEventArgs e) { ConnectedDevices.Add(e.Device); DeviceConnected(this, e); }
private void FailedToConnectPeripheral(object sender, CBPeripheralErrorEventArgs e) { var device = new Device(e.Peripheral); var args = new DeviceConnectionEventArgs(device) { ErrorMessage = e.Error.Description }; DeviceFailedToConnect(this, args); }
/// <summary> /// Connect to a device. /// </summary> /// <param name="device">The device.</param> public async void ConnectToDevice(IDevice device) { var peripheral = device.NativeDevice as CBPeripheral; _central.ConnectPeripheral(peripheral); await Task.Delay(ConnectionTimeout); if (ConnectedDevices.All(x => x.Id != device.Id)) { _central.CancelPeripheralConnection(peripheral); var args = new DeviceConnectionEventArgs(device) { ErrorMessage = "The device connection timed out." }; DeviceFailedToConnect(this, args); } }
void DeviceDisconnected (object sender, DeviceConnectionEventArgs e) { // todo: stale }
void DeviceConnected (object sender, DeviceConnectionEventArgs e) { Navigation.PushAsync(new DevicePage(e.Device)); }