Revision control

Copy as Markdown

// Copyright (C) 2022 Intel Corporation.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#define QT_BLUETOOTH_BUILD_REMOVED_API
// Undefine Qt 128-bit int types
#ifndef QT_NO_INT128
# define QT_NO_INT128
#endif
#include "qtbluetoothglobal.h"
QT_USE_NAMESPACE
#if QT_BLUETOOTH_REMOVED_SINCE(6, 6)
#include "qbluetoothaddress.h" // inlined API
#include "qbluetoothuuid.h"
static_assert(std::is_aggregate_v<quint128>);
static_assert(std::is_trivial_v<quint128>);
// These legacy functions can't just call the new (quint128, Endian) overloads,
// as the latter may see either QtCore's quint128 (__int128 built-in) _or_ our
// fake version from qbluetoothuuid.h. This TU must _always_ see the fake ones
// (as that is what we had in 6.5):
#ifdef QT_SUPPORTS_INT128
# error This TU requires QT_NO_INT128 to be defined.
#endif
QBluetoothUuid::QBluetoothUuid(quint128 uuid)
: QUuid(fromBytes(uuid.data))
{}
quint128 QBluetoothUuid::toUInt128() const
{
quint128 uuid;
const auto bytes = toBytes();
memcpy(uuid.data, bytes.data, sizeof(uuid.data));
return uuid;
}
// END quint128 functions
QBluetoothUuid::QBluetoothUuid(const QString &uuid)
: QUuid(qToAnyStringViewIgnoringNull(uuid))
{
}
#ifndef QT_NO_DEBUG_STREAM
QDebug QBluetoothUuid::streamingOperator(QDebug debug, const QBluetoothUuid &uuid)
{
debug << uuid.toString();
return debug;
}
#endif // QT_NO_DEBUG_STREAM
#endif // QT_BLUETOOTH_REMOVED_SINCE(6, 6)