public override void OnReadRemoteRssi(BluetoothGatt gatt, int rssi, GattStatus status) { base.OnReadRemoteRssi(gatt, rssi, status); Trace.Message("OnReadRemoteRssi: device {0} status {1} value {2}", gatt.Device.Name, status, rssi); RemoteRssiRead?.Invoke(this, new RssiReadCallbackEventArgs(GetExceptionFromGattStatus(status), rssi)); }
public override void OnReadRemoteRssi(BluetoothGatt gatt, int rssi, GattStatus status) { base.OnReadRemoteRssi(gatt, rssi, status); Trace.Message("OnReadRemoteRssi: device {0} status {1} value {2}", gatt.Device.Name, status, rssi); IDevice device; if (!_adapter.ConnectedDeviceRegistry.TryGetValue(gatt.Device.Address, out device)) { device = new Device(_adapter, gatt.Device, gatt, this, rssi); Trace.Message("Rssi updated for device not in connected list. This should not happen."); } RemoteRssiRead?.Invoke(this, new RssiReadCallbackEventArgs(device, GetExceptionFromGattStatus(status), rssi)); }
public override void OnReadRemoteRssi(BluetoothGatt gatt, int rssi, GattStatus status) { base.OnReadRemoteRssi(gatt, rssi, status); Trace.Message("OnReadRemoteRssi: device {0} status {1} value {2}", gatt.Device.Name, status, rssi); IDevice device; if (!_adapter.ConnectedDeviceRegistry.TryGetValue(gatt.Device.Address, out device)) { device = new Device(_adapter, gatt.Device, gatt, this, rssi); Trace.Message("Rssi updated for device not in connected list. This should not happen."); } Exception error = null; switch (status) { case GattStatus.Failure: case GattStatus.InsufficientAuthentication: case GattStatus.InsufficientEncryption: case GattStatus.InvalidAttributeLength: case GattStatus.InvalidOffset: case GattStatus.ReadNotPermitted: case GattStatus.RequestNotSupported: case GattStatus.WriteNotPermitted: error = new Exception(status.ToString()); break; case GattStatus.Success: break; } var args = new RssiReadCallbackEventArgs(device, error, rssi); RemoteRssiRead?.Invoke(this, args); }