private void OnInvitationReceived(CBATTRequest[] requests) { var identifier = requests[0].Central.Identifier; var connectionManager = BluetoothClient.Instance.ConnectionManager; if (!connectionManager.IsConnected(identifier)) { connectionManager.Connect(identifier); } }
private void OnMessageReceived(CBATTRequest[] requests) { var data = requests.Where(r => r.Characteristic.IsUuidEqual(BluetoothServiceUuid.MessageCharacteristic)) .SelectMany(r => r.Value.ToArray()); var message = Encoding.Unicode.GetString(data.ToArray()); var handler = ReceivedMessage; if (handler != null) { handler(message, requests[0].Central); } }
public override void ReadRequestReceived(CBPeripheralManager peripheral, CBATTRequest request) { try { if (request.Characteristic.Service.UUID.Equals(_service.UUID) && request.Characteristic.UUID.Equals(_characteristic.UUID)) { // fill in the characteristic value for the request and return it to the central request.Value = _characteristic.Value; peripheral.RespondToRequest(request, CBATTError.Success); } else { peripheral.RespondToRequest(request, CBATTError.RequestNotSupported); } } catch (Exception ex) { SensusServiceHelper.Get().Logger.Log("Exception while servicing read request: " + ex.Message, LoggingLevel.Normal, GetType()); } }