Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
    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
        }
    }