diff options
author | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2022-05-16 18:16:37 +0300 |
---|---|---|
committer | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2022-05-16 18:16:37 +0300 |
commit | 15f809f2a7f555c2bdb8ac152bd187e313a2838c (patch) | |
tree | 81e1b646fc591390df518190b3ba6e7fdc040f4b /src/bluetooth/osx/osxbtutility.mm | |
parent | 83ca3a2471560f09d723157322adc0b5c33ed914 (diff) | |
parent | 42bef3553361d7e56c0d6dea8604f795c815bcee (diff) |
Merge remote-tracking branch 'origin/tqtc/lts-5.15.5' into tqtc/lts-5.15-opensourcev5.15.5-lts-lgpl
Change-Id: If90eb1db8f874742b028a258d582bdd0a5fd5322
Diffstat (limited to 'src/bluetooth/osx/osxbtutility.mm')
-rw-r--r-- | src/bluetooth/osx/osxbtutility.mm | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/bluetooth/osx/osxbtutility.mm b/src/bluetooth/osx/osxbtutility.mm index e17006de..c7fa7c42 100644 --- a/src/bluetooth/osx/osxbtutility.mm +++ b/src/bluetooth/osx/osxbtutility.mm @@ -233,11 +233,17 @@ CFStrongReference<CFUUIDRef> cf_uuid(const QBluetoothUuid &qtUuid) ObjCStrongReference<CBUUID> cb_uuid(const QBluetoothUuid &qtUuid) { - CFStrongReference<CFUUIDRef> cfUuid(cf_uuid(qtUuid)); - if (!cfUuid) - return ObjCStrongReference<CBUUID>(); + bool ok = false; + const auto asUInt16 = qToBigEndian(qtUuid.toUInt16(&ok)); + const auto asUInt128 = qtUuid.toUInt128(); - ObjCStrongReference<CBUUID> cbUuid([CBUUID UUIDWithCFUUID:cfUuid], true); //true == retain. + const NSUInteger length = ok ? sizeof asUInt16 : sizeof asUInt128; + const void *bytes = &asUInt128; + if (ok) + bytes = &asUInt16; + + NSData *uuidData = [NSData dataWithBytes:bytes length:length]; + ObjCStrongReference<CBUUID> cbUuid([CBUUID UUIDWithData:uuidData], true); // true == retain. return cbUuid; } |