private CBAttributePermissions GetNativePermissions(CharacterisiticPermissionType permissions) { CBAttributePermissions nativePermissions = 0; foreach (CharacterisiticPermissionType value in Enum.GetValues(typeof(CharacterisiticPermissionType))) { if (permissions.HasFlag(value)) { switch (value) { case CharacterisiticPermissionType.Read: nativePermissions |= CBAttributePermissions.Readable; break; case CharacterisiticPermissionType.Write: nativePermissions |= CBAttributePermissions.Writeable; break; case CharacterisiticPermissionType.ReadEncrypted: nativePermissions |= CBAttributePermissions.ReadEncryptionRequired; break; case CharacterisiticPermissionType.WriteEncrypted: nativePermissions |= CBAttributePermissions.WriteEncryptionRequired; break; } } } return(nativePermissions); }
public Characteristic(Guid uuid, CharacterisiticPermissionType permissions, CharacteristicPropertyType properties) { CBAttributePermissions nativePermissions = 0; nativePermissions = GetNativePermissions(permissions); _nativeCharacteristic = new CBMutableCharacteristic(CBUUID.FromString(uuid.ToString()), (CBCharacteristicProperties)properties, null, nativePermissions); }
public IGattCharacteristicBuilder SetRead(Func <ReadRequest, ReadResult> request, bool encrypted = false) { this.onRead = request; this.permissions |= encrypted ? CBAttributePermissions.ReadEncryptionRequired : CBAttributePermissions.Readable; this.properties |= CBCharacteristicProperties.Read; return(this); }
public IGattCharacteristicBuilder SetWrite(Func <WriteRequest, GattState> request, WriteOptions options = WriteOptions.Write) { this.onWrite = request; this.permissions |= options.HasFlag(WriteOptions.EncryptionRequired) ? CBAttributePermissions.WriteEncryptionRequired : CBAttributePermissions.Writeable; if (options.HasFlag(WriteOptions.Write)) { this.properties |= CBCharacteristicProperties.Write; } if (options.HasFlag(WriteOptions.WriteWithoutResponse)) { this.properties |= CBCharacteristicProperties.WriteWithoutResponse; } if (options.HasFlag(WriteOptions.AuthenticatedSignedWrites)) { this.properties |= CBCharacteristicProperties.AuthenticatedSignedWrites; } return(this); }
public static void CreateCharacteristic(string uuid, CBCharacteristicProperties properties, CBAttributePermissions permissions, byte[] data, int length, Action <string, byte[]> action) { if (!Application.isEditor) { if (bluetoothDeviceScript != null) { bluetoothDeviceScript.PeripheralReceivedWriteDataAction = action; } #if UNITY_IPHONE _iOSBluetoothLECreateCharacteristic(uuid, (int)properties, (int)permissions, data, length); #endif } }
public static void CreateCharacteristic(string uuid, CBCharacteristicProperties properties, CBAttributePermissions permissions, byte[] data, int length, Action<string, byte[]> action) { if (!Application.isEditor) { if (bluetoothDeviceScript != null) bluetoothDeviceScript.PeripheralReceivedWriteDataAction = action; #if UNITY_IPHONE _iOSBluetoothLECreateCharacteristic (uuid, (int)properties, (int)permissions, data, length); #endif } }