28 ServiceRecordHandle = 0x0000,
29 ServiceClassIds = 0x0001,
30 ServiceRecordState = 0x0002,
32 ProtocolDescriptorList = 0x0004,
33 BrowseGroupList = 0x0005,
34 LanguageBaseAttributeIdList = 0x0006,
35 ServiceInfoTimeToLive = 0x0007,
36 ServiceAvailability = 0x0008,
37 BluetoothProfileDescriptorList = 0x0009,
38 DocumentationUrl = 0x000A,
39 ClientExecutableUrl = 0x000B,
41 AdditionalProtocolDescriptorList = 0x000D,
42 PrimaryLanguageBase = 0x0100,
43 ServiceName = PrimaryLanguageBase + 0x0000,
44 ServiceDescription = PrimaryLanguageBase + 0x0001,
45 ServiceProvider = PrimaryLanguageBase + 0x0002
54 class Sequence :
public QList<QVariant>
58 Sequence(
const QList<QVariant> &list) : QList<QVariant>(list) { }
61 class Alternative :
public QList<QVariant>
65 Alternative(
const QList<QVariant> &list) : QList<QVariant>(list) { }
68 QBluetoothServiceInfo();
69 QBluetoothServiceInfo(
const QBluetoothServiceInfo &other);
70 ~QBluetoothServiceInfo();
73 bool isComplete()
const;
75 void setDevice(
const QBluetoothDeviceInfo &info);
76 QBluetoothDeviceInfo device()
const;
78 void setAttribute(quint16 attributeId,
const QVariant &value);
79 void setAttribute(quint16 attributeId,
const QBluetoothUuid &value);
80 void setAttribute(quint16 attributeId,
const QBluetoothServiceInfo::Sequence &value);
81 void setAttribute(quint16 attributeId,
const QBluetoothServiceInfo::Alternative &value);
82 QVariant attribute(quint16 attributeId)
const;
83 QList<quint16> attributes()
const;
84 bool contains(quint16 attributeId)
const;
85 void removeAttribute(quint16 attributeId);
87 inline void setServiceName(
const QString &name);
88 inline QString serviceName()
const;
89 inline void setServiceDescription(
const QString &description);
90 inline QString serviceDescription()
const;
91 inline void setServiceProvider(
const QString &provider);
92 inline QString serviceProvider()
const;
94 QBluetoothServiceInfo::Protocol socketProtocol()
const;
95 int protocolServiceMultiplexer()
const;
96 int serverChannel()
const;
98 QBluetoothServiceInfo::Sequence protocolDescriptor(QBluetoothUuid::ProtocolUuid protocol)
const;
100 inline void setServiceAvailability(quint8 availability);
101 inline quint8 serviceAvailability()
const;
103 inline void setServiceUuid(
const QBluetoothUuid &uuid);
104 inline QBluetoothUuid serviceUuid()
const;
106 QList<QBluetoothUuid> serviceClassUuids()
const;
108 QBluetoothServiceInfo &operator=(
const QBluetoothServiceInfo &other);
110 bool isRegistered()
const;
111 bool registerService(
const QBluetoothAddress &localAdapter = QBluetoothAddress());
112 bool unregisterService();
115#ifndef QT_NO_DEBUG_STREAM
116 friend QDebug operator<<(QDebug d,
const QBluetoothServiceInfo &i)
118 return streamingOperator(d, i);
120 static QDebug streamingOperator(QDebug,
const QBluetoothServiceInfo &);
123 QSharedPointer<QBluetoothServiceInfoPrivate> d_ptr;
129QT_DECL_METATYPE_EXTERN_TAGGED(QBluetoothServiceInfo::Sequence, QBluetoothServiceInfo__Sequence,
131QT_DECL_METATYPE_EXTERN_TAGGED(QBluetoothServiceInfo::Alternative,
132 QBluetoothServiceInfo__Alternative,
137inline void QBluetoothServiceInfo::setAttribute(quint16 attributeId,
const QBluetoothUuid &value)
139 setAttribute(attributeId, QVariant::fromValue(value));