| 1 | // Copyright (C) 2022 Intel Corporation. |
|---|---|
| 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
| 3 | |
| 4 | #define QT_BLUETOOTH_BUILD_REMOVED_API |
| 5 | |
| 6 | // Undefine Qt 128-bit int types |
| 7 | #define QT_NO_INT128 |
| 8 | |
| 9 | #include "qtbluetoothglobal.h" |
| 10 | |
| 11 | QT_USE_NAMESPACE |
| 12 | |
| 13 | #if QT_BLUETOOTH_REMOVED_SINCE(6, 6) |
| 14 | |
| 15 | #include "qbluetoothaddress.h" // inlined API |
| 16 | |
| 17 | #include "qbluetoothuuid.h" |
| 18 | |
| 19 | static_assert(std::is_aggregate_v<quint128>); |
| 20 | static_assert(std::is_trivial_v<quint128>); |
| 21 | |
| 22 | // These legacy functions can't just call the new (quint128, Endian) overloads, |
| 23 | // as the latter may see either QtCore's quint128 (__int128 built-in) _or_ our |
| 24 | // fake version from qbluetoothuuid.h. This TU must _always_ see the fake ones |
| 25 | // (as that is what we had in 6.5): |
| 26 | #ifdef QT_SUPPORTS_INT128 |
| 27 | # error This TU requires QT_NO_INT128 to be defined. |
| 28 | #endif |
| 29 | |
| 30 | QBluetoothUuid::QBluetoothUuid(quint128 uuid) |
| 31 | : QUuid(fromBytes(bytes: uuid.data)) |
| 32 | {} |
| 33 | |
| 34 | quint128 QBluetoothUuid::toUInt128() const |
| 35 | { |
| 36 | quint128 uuid; |
| 37 | const auto bytes = toBytes(); |
| 38 | memcpy(dest: uuid.data, src: bytes.data, n: sizeof(uuid.data)); |
| 39 | return uuid; |
| 40 | } |
| 41 | |
| 42 | // END quint128 functions |
| 43 | |
| 44 | QBluetoothUuid::QBluetoothUuid(const QString &uuid) |
| 45 | : QUuid(qToAnyStringViewIgnoringNull(s: uuid)) |
| 46 | { |
| 47 | } |
| 48 | |
| 49 | #ifndef QT_NO_DEBUG_STREAM |
| 50 | QDebug QBluetoothUuid::streamingOperator(QDebug debug, const QBluetoothUuid &uuid) |
| 51 | { |
| 52 | debug << uuid.toString(); |
| 53 | return debug; |
| 54 | } |
| 55 | #endif // QT_NO_DEBUG_STREAM |
| 56 | |
| 57 | #endif // QT_BLUETOOTH_REMOVED_SINCE(6, 6) |
| 58 |
