bool BLEDescriptor::add(uint16_t serviceHandle) { bt_uuid uuid = btUuid(); struct ble_gatts_descriptor desc; uint16_t handle = 0; memset(&desc, 0, sizeof(desc)); desc.p_uuid = &uuid; desc.p_value = _value; desc.length = _value_length; // this class only supports read-only descriptors desc.perms.rd = GAP_SEC_MODE_1 | GAP_SEC_LEVEL_1; desc.perms.wr = GAP_SEC_NO_PERMISSION; return (ble_client_gatts_add_descriptor(serviceHandle, &desc, &handle) == BLE_STATUS_SUCCESS); }
void tst_QBluetoothUuid::tst_construction() { { QBluetoothUuid nullUuid; QVERIFY(nullUuid.isNull()); } { QBluetoothUuid uuid(QBluetoothUuid::PublicBrowseGroup); QVERIFY(!uuid.isNull()); bool ok; quint16 uuid16; uuid16 = uuid.toUInt16(&ok); QVERIFY(ok); QCOMPARE(uuid16, static_cast<quint16>(QBluetoothUuid::PublicBrowseGroup)); } { QBluetoothUuid uuid(QBluetoothUuid::PublicBrowseGroup); QBluetoothUuid copy(uuid); QCOMPARE(uuid.toUInt16(), copy.toUInt16()); } { QBluetoothUuid uuid(QBluetoothUuid::L2cap); QVERIFY(!uuid.isNull()); bool ok; quint16 uuid16; uuid16 = uuid.toUInt16(&ok); QVERIFY(ok); QCOMPARE(uuid16, static_cast<quint16>(QBluetoothUuid::L2cap)); } { QUuid uuid(0x67c8770b, 0x44f1, 0x410a, 0xab, 0x9a, 0xf9, 0xb5, 0x44, 0x6f, 0x13, 0xee); QBluetoothUuid btUuid(uuid); QVERIFY(!btUuid.isNull()); QString uuidString(btUuid.toString()); QVERIFY(!uuidString.isEmpty()); QCOMPARE(uuidString, QString("{67c8770b-44f1-410a-ab9a-f9b5446f13ee}")); } { QBluetoothUuid btUuid(QString("67c8770b-44f1-410a-ab9a-f9b5446f13ee")); QVERIFY(!btUuid.isNull()); QString uuidString(btUuid.toString()); QVERIFY(!uuidString.isEmpty()); QCOMPARE(uuidString, QString("{67c8770b-44f1-410a-ab9a-f9b5446f13ee}")); } { QBluetoothUuid btUuid(QString("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")); QVERIFY(btUuid.isNull()); } }