This file is indexed.

/usr/share/qt5/doc/qtbluetooth/qlowenergycontroller.html is in qtconnectivity5-doc-html 5.5.1-2build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- qlowenergycontroller.cpp -->
  <title>QLowEnergyController Class | Qt Bluetooth 5.5</title>
  <link rel="stylesheet" type="text/css" href="style/offline.css" />
</head>
<body>
<div class="header" id="qtdocheader">
    <div class="main">
    <div class="main-rounded">
        <div class="navigationbar">
        <ul>
<li>Qt 5.5</li>
<li><a href="qtbluetooth-index.html">Qt Bluetooth</a></li>
<li><a href="qtbluetooth-module.html">C++ Classes</a></li>
<li>QLowEnergyController</li>
<li id="buildversion">Qt 5.5.1 Reference Documentation</li>
    </ul>
    </div>
</div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="sidebar">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#public-types">Public Types</a></li>
<li class="level1"><a href="#public-functions">Public Functions</a></li>
<li class="level1"><a href="#signals">Signals</a></li>
<li class="level1"><a href="#details">Detailed Description</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">QLowEnergyController Class</h1>
<!-- $$$QLowEnergyController-brief -->
<p>The <a href="qlowenergycontroller.html">QLowEnergyController</a> class provides access to Bluetooth Low Energy Devices. <a href="#details">More...</a></p>
<!-- @@@QLowEnergyController -->
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include &lt;QLowEnergyController&gt;</span>
</td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> QT += bluetooth</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Since:</td><td class="memItemRight bottomAlign">  Qt 5.4</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Inherits:</td><td class="memItemRight bottomAlign"> <a href="../qtcore/qobject.html">QObject</a></td></tr></table></div><ul>
<li><a href="qlowenergycontroller-members.html">List of all members, including inherited members</a></li>
<li><a href="qlowenergycontroller-obsolete.html">Obsolete members</a></li>
</ul>
<a name="public-types"></a>
<h2 id="public-types">Public Types</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#ControllerState-enum">ControllerState</a></b> { UnconnectedState, ConnectingState, ConnectedState, DiscoveringState, DiscoveredState, ClosingState }</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#Error-enum">Error</a></b> { NoError, UnknownError, UnknownRemoteDeviceError, NetworkError, InvalidBluetoothAdapterError, ConnectionError }</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#RemoteAddressType-enum">RemoteAddressType</a></b> { PublicAddress, RandomAddress }</td></tr>
</table></div>
<a name="public-functions"></a>
<h2 id="public-functions">Public Functions</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#QLowEnergyController">QLowEnergyController</a></b>(const QBluetoothDeviceInfo &amp;<i> remoteDeviceInfo</i>, QObject *<i> parent</i> = 0)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#dtor.QLowEnergyController">~QLowEnergyController</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#connectToDevice">connectToDevice</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QLowEnergyService * </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#createServiceObject">createServiceObject</a></b>(const QBluetoothUuid &amp;<i> serviceUuid</i>, QObject *<i> parent</i> = 0)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#disconnectFromDevice">disconnectFromDevice</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#discoverServices">discoverServices</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> Error </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#error">error</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#errorString">errorString</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QBluetoothAddress </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#localAddress">localAddress</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QBluetoothAddress </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#remoteAddress">remoteAddress</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> RemoteAddressType </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#remoteAddressType">remoteAddressType</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#remoteName">remoteName</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QList&lt;QBluetoothUuid&gt; </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#services">services</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#setRemoteAddressType">setRemoteAddressType</a></b>(RemoteAddressType<i> type</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> ControllerState </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#state">state</a></b>() const</td></tr>
</table></div>
<ul>
<li class="fn">31 public functions inherited from <a href="../qtcore/qobject.html#public-functions">QObject</a></li>
</ul>
<a name="signals"></a>
<h2 id="signals">Signals</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#connected">connected</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#disconnected">disconnected</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#discoveryFinished">discoveryFinished</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#error-2">error</a></b>(QLowEnergyController::Error<i> newError</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#serviceDiscovered">serviceDiscovered</a></b>(const QBluetoothUuid &amp;<i> newService</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qlowenergycontroller.html#stateChanged">stateChanged</a></b>(QLowEnergyController::ControllerState<i> state</i>)</td></tr>
</table></div>
<ul>
<li class="fn">2 signals inherited from <a href="../qtcore/qobject.html#signals">QObject</a></li>
</ul>
<h3>Additional Inherited Members</h3>
<ul>
<li class="fn">1 property inherited from <a href="../qtcore/qobject.html#properties">QObject</a></li>
<li class="fn">1 public slot inherited from <a href="../qtcore/qobject.html#public-slots">QObject</a></li>
<li class="fn">1 public variable inherited from <a href="../qtcore/qobject.html#public-variables">QObject</a></li>
<li class="fn">10 static public members inherited from <a href="../qtcore/qobject.html#static-public-members">QObject</a></li>
<li class="fn">9 protected functions inherited from <a href="../qtcore/qobject.html#protected-functions">QObject</a></li>
<li class="fn">2 protected variables inherited from <a href="../qtcore/qobject.html#protected-variables">QObject</a></li>
</ul>
<a name="details"></a>
<!-- $$$QLowEnergyController-description -->
<div class="descr">
<h2 id="details">Detailed Description</h2>
<p>The <a href="qlowenergycontroller.html">QLowEnergyController</a> class provides access to Bluetooth Low Energy Devices.</p>
<p><a href="qlowenergycontroller.html">QLowEnergyController</a> acts as the entry point for Bluetooth Low Energy development. Each <a href="qlowenergycontroller.html">QLowEnergyController</a> instance acts as placeholder towards a remote Low Energy device enabling connection control, service discovery and state tracking.</p>
<p>Bluetooth Low Energy defines two types of devices; the peripheral and the central. Each role performs a different task. The peripheral device provides data which is utilized by central devices. An example might be a humidity sensor which measures the moisture in a winter garden. A device such as a mobile phone might read the sensor's value and display it to the user in the greater context of all sensors in the same environment. In this case the sensor is the peripheral device and the mobile phone acts as the central device.</p>
<p>At the moment Qt only supports the central role and therefore the remote device can only be a device acting as a peripheral. This implies that the local device acts within the boundaries of the central role as per the Bluetooth 4.0 specification.</p>
<p>The first step is to establish a connection via <a href="qlowenergycontroller.html#connectToDevice">connectToDevice</a>(). Once the connection has been established, the controller's <a href="qlowenergycontroller.html#state">state</a>() changes to <a href="qlowenergycontroller.html#ControllerState-enum">QLowEnergyController::ConnectedState</a> and the <a href="qlowenergycontroller.html#connected">connected</a>() signal is emitted. It is important to mention that some platforms such as a BlueZ based Linux cannot maintain two connected instances of <a href="qlowenergycontroller.html">QLowEnergyController</a> to the same remote device. In such cases the second call to <a href="qlowenergycontroller.html#connectToDevice">connectToDevice</a>() may fail. This limitation may disappear at some stage in the future. The <a href="qlowenergycontroller.html#disconnectFromDevice">disconnectFromDevice</a>() function is used to break the existing connection.</p>
<p>The second step after establishing the connection is to discover the services offered by the remote peripheral device. This process is started via <a href="qlowenergycontroller.html#discoverServices">discoverServices</a>() and has finished once the <a href="qlowenergycontroller.html#discoveryFinished">discoveryFinished</a>() signal has been emitted. The discovered services can be enumerated via <a href="qlowenergycontroller.html#services">services</a>().</p>
<p>The last step is to create service objects. The <a href="qlowenergycontroller.html#createServiceObject">createServiceObject</a>() function acts as factory for each service object and expects the service UUID as parameter. The calling context should take ownership of the returned <a href="qlowenergyservice.html">QLowEnergyService</a> instance.</p>
<p>Any <a href="qlowenergyservice.html">QLowEnergyService</a>, <a href="qlowenergycharacteristic.html">QLowEnergyCharacteristic</a> or <a href="qlowenergydescriptor.html">QLowEnergyDescriptor</a> instance which is later created from this controller's connection becomes invalid as soon as the controller disconnects from the remote Bluetooth Low Energy device.</p>
</div>
<p><b>See also </b><a href="qlowenergyservice.html">QLowEnergyService</a>, <a href="qlowenergycharacteristic.html">QLowEnergyCharacteristic</a>, and <a href="qlowenergydescriptor.html">QLowEnergyDescriptor</a>.</p>
<!-- @@@QLowEnergyController -->
<div class="types">
<h2>Member Type Documentation</h2>
<!-- $$$ControllerState$$$UnconnectedState$$$ConnectingState$$$ConnectedState$$$DiscoveringState$$$DiscoveredState$$$ClosingState -->
<h3 class="fn" id="ControllerState-enum"><a name="ControllerState-enum"></a>enum QLowEnergyController::<span class="name">ControllerState</span></h3>
<p>Indicates the state of the controller object.</p>
<div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QLowEnergyController::UnconnectedState</code></td><td class="topAlign"><code>0</code></td><td class="topAlign">The controller is not connected to a remote device.</td></tr>
<tr><td class="topAlign"><code>QLowEnergyController::ConnectingState</code></td><td class="topAlign"><code>1</code></td><td class="topAlign">The controller is attempting to connect to a remote device.</td></tr>
<tr><td class="topAlign"><code>QLowEnergyController::ConnectedState</code></td><td class="topAlign"><code>2</code></td><td class="topAlign">The controller is connected to a remote device.</td></tr>
<tr><td class="topAlign"><code>QLowEnergyController::DiscoveringState</code></td><td class="topAlign"><code>3</code></td><td class="topAlign">The controller is retrieving the list of services offered by the remote device.</td></tr>
<tr><td class="topAlign"><code>QLowEnergyController::DiscoveredState</code></td><td class="topAlign"><code>4</code></td><td class="topAlign">The controller has discovered all services offered by the remote device.</td></tr>
<tr><td class="topAlign"><code>QLowEnergyController::ClosingState</code></td><td class="topAlign"><code>5</code></td><td class="topAlign">The controller is about to be disconnected from the remote device.</td></tr>
</table></div>
<!-- @@@ControllerState -->
<!-- $$$Error$$$NoError$$$UnknownError$$$UnknownRemoteDeviceError$$$NetworkError$$$InvalidBluetoothAdapterError$$$ConnectionError -->
<h3 class="fn" id="Error-enum"><a name="Error-enum"></a>enum QLowEnergyController::<span class="name">Error</span></h3>
<p>Indicates all possible error conditions found during the controller's existence.</p>
<div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QLowEnergyController::NoError</code></td><td class="topAlign"><code>0</code></td><td class="topAlign">No error has occurred.</td></tr>
<tr><td class="topAlign"><code>QLowEnergyController::UnknownError</code></td><td class="topAlign"><code>1</code></td><td class="topAlign">An unknown error has occurred.</td></tr>
<tr><td class="topAlign"><code>QLowEnergyController::UnknownRemoteDeviceError</code></td><td class="topAlign"><code>2</code></td><td class="topAlign">The remote Bluetooth Low Energy device with the address passed to the constructor of this class cannot be found.</td></tr>
<tr><td class="topAlign"><code>QLowEnergyController::NetworkError</code></td><td class="topAlign"><code>3</code></td><td class="topAlign">The attempt to read from or write to the remote device failed.</td></tr>
<tr><td class="topAlign"><code>QLowEnergyController::InvalidBluetoothAdapterError</code></td><td class="topAlign"><code>4</code></td><td class="topAlign">The local Bluetooth device with the address passed to the constructor of this class cannot be found or there is no local Bluetooth device.</td></tr>
<tr><td class="topAlign"><code>QLowEnergyController::ConnectionError</code></td><td class="topAlign"><code>5</code></td><td class="topAlign">The attempt to connect to the remote device failed. This value was introduced by Qt 5.5&#x2e;</td></tr>
</table></div>
<!-- @@@Error -->
<!-- $$$RemoteAddressType$$$PublicAddress$$$RandomAddress -->
<h3 class="fn" id="RemoteAddressType-enum"><a name="RemoteAddressType-enum"></a>enum QLowEnergyController::<span class="name">RemoteAddressType</span></h3>
<p>Indicates what type of Bluetooth address the remote device uses.</p>
<div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QLowEnergyController::PublicAddress</code></td><td class="topAlign"><code>0</code></td><td class="topAlign">The peripheral uses a public Bluetooth address.</td></tr>
<tr><td class="topAlign"><code>QLowEnergyController::RandomAddress</code></td><td class="topAlign"><code>1</code></td><td class="topAlign">A random address is a Bluetooth Low Energy security feature. Peripherals using such addresses may frequently change their Bluetooth address. This information is needed when trying to connect to a peripheral.</td></tr>
</table></div>
<!-- @@@RemoteAddressType -->
</div>
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$QLowEnergyController[overload1]$$$QLowEnergyControllerconstQBluetoothDeviceInfo&QObject* -->
<h3 class="fn" id="QLowEnergyController"><a name="QLowEnergyController"></a>QLowEnergyController::<span class="name">QLowEnergyController</span>(const <span class="type"><a href="qbluetoothdeviceinfo.html">QBluetoothDeviceInfo</a></span> &amp;<i> remoteDeviceInfo</i>, <span class="type"><a href="../qtcore/qobject.html#QObject">QObject</a></span> *<i> parent</i> = 0)</h3>
<p>Constructs a new instance of this class with <i>parent</i>.</p>
<p>The <i>remoteDeviceInfo</i> must contain the details of the remote Bluetooth Low Energy device to which this object should attempt to connect later on.</p>
<p>The controller uses the local default Bluetooth adapter for the connection management.</p>
<p>This function was introduced in  Qt 5.5.</p>
<!-- @@@QLowEnergyController -->
<!-- $$$~QLowEnergyController[overload1]$$$~QLowEnergyController -->
<h3 class="fn" id="dtor.QLowEnergyController"><a name="dtor.QLowEnergyController"></a>QLowEnergyController::<span class="name">~QLowEnergyController</span>()</h3>
<p>Destroys the <a href="qlowenergycontroller.html">QLowEnergyController</a> instance.</p>
<!-- @@@~QLowEnergyController -->
<!-- $$$connectToDevice[overload1]$$$connectToDevice -->
<h3 class="fn" id="connectToDevice"><a name="connectToDevice"></a><span class="type">void</span> QLowEnergyController::<span class="name">connectToDevice</span>()</h3>
<p>Connects to the remote Bluetooth Low Energy device.</p>
<p>This function does nothing if the controller's <a href="qlowenergycontroller.html#state">state</a>() is not equal to <a href="qlowenergycontroller.html#ControllerState-enum">UnconnectedState</a>. The <a href="qlowenergycontroller.html#connected">connected</a>() signal is emitted once the connection is successfully established.</p>
<p>On Linux/BlueZ systems, it is not possible to connect to the same remote device using two instances of this class. The second call to this function may fail with an error. This limitation may be removed in future releases.</p>
<p><b>See also </b><a href="qlowenergycontroller.html#disconnectFromDevice">disconnectFromDevice</a>().</p>
<!-- @@@connectToDevice -->
<!-- $$$connected[overload1]$$$connected -->
<h3 class="fn" id="connected"><a name="connected"></a><code>[signal] </code><span class="type">void</span> QLowEnergyController::<span class="name">connected</span>()</h3>
<p>This signal is emitted when the controller successfully connects to the remote Low Energy device.</p>
<!-- @@@connected -->
<!-- $$$createServiceObject[overload1]$$$createServiceObjectconstQBluetoothUuid&QObject* -->
<h3 class="fn" id="createServiceObject"><a name="createServiceObject"></a><span class="type"><a href="qlowenergyservice.html">QLowEnergyService</a></span> * QLowEnergyController::<span class="name">createServiceObject</span>(const <span class="type"><a href="qbluetoothuuid.html">QBluetoothUuid</a></span> &amp;<i> serviceUuid</i>, <span class="type"><a href="../qtcore/qobject.html#QObject">QObject</a></span> *<i> parent</i> = 0)</h3>
<p>Creates an instance of the service represented by <i>serviceUuid</i>. The <i>serviceUuid</i> parameter must have been obtained via <a href="qlowenergycontroller.html#services">services</a>().</p>
<p>The caller takes ownership of the returned pointer and may pass a <i>parent</i> parameter as default owner.</p>
<p>This function returns a null pointer if no service with <i>serviceUuid</i> can be found on the remote device or the controller is disconnected.</p>
<p>This function can return instances for secondary services too. The include relationships between services can be expressed via <a href="qlowenergyservice.html#includedServices">QLowEnergyService::includedServices</a>().</p>
<p>If this function is called multiple times using the same service UUID, the returned <a href="qlowenergyservice.html">QLowEnergyService</a> instances share their internal data. Therefore if one of the instances initiates the discovery of the service details, the other instances automatically transition into the discovery state too.</p>
<p><b>See also </b><a href="qlowenergycontroller.html#services">services</a>().</p>
<!-- @@@createServiceObject -->
<!-- $$$disconnectFromDevice[overload1]$$$disconnectFromDevice -->
<h3 class="fn" id="disconnectFromDevice"><a name="disconnectFromDevice"></a><span class="type">void</span> QLowEnergyController::<span class="name">disconnectFromDevice</span>()</h3>
<p>Disconnects from the remote device.</p>
<p>Any <a href="qlowenergyservice.html">QLowEnergyService</a>, <a href="qlowenergycharacteristic.html">QLowEnergyCharacteristic</a> or <a href="qlowenergydescriptor.html">QLowEnergyDescriptor</a> instance that resulted from the current connection is automatically invalidated. Once any of those objects become invalid they remain invalid even if this controller object reconnects.</p>
<p>This function does nothing if the controller is in the <a href="qlowenergycontroller.html#ControllerState-enum">UnconnectedState</a>.</p>
<p><b>See also </b><a href="qlowenergycontroller.html#connectToDevice">connectToDevice</a>().</p>
<!-- @@@disconnectFromDevice -->
<!-- $$$disconnected[overload1]$$$disconnected -->
<h3 class="fn" id="disconnected"><a name="disconnected"></a><code>[signal] </code><span class="type">void</span> QLowEnergyController::<span class="name">disconnected</span>()</h3>
<p>This signal is emitted when the controller disconnects from the remote Low Energy device.</p>
<!-- @@@disconnected -->
<!-- $$$discoverServices[overload1]$$$discoverServices -->
<h3 class="fn" id="discoverServices"><a name="discoverServices"></a><span class="type">void</span> QLowEnergyController::<span class="name">discoverServices</span>()</h3>
<p>Initiates the service discovery process.</p>
<p>The discovery progress is indicated via the <a href="qlowenergycontroller.html#serviceDiscovered">serviceDiscovered</a>() signal. The <a href="qlowenergycontroller.html#discoveryFinished">discoveryFinished</a>() signal is emitted when the process has finished.</p>
<p>If the controller instance is not connected or the controller has performed the service discovery already this function will do nothing.</p>
<p><b>Note: </b>Some platforms internally cache the service list of a device which was discovered in the past. This can be problematic if the remote device changed its list of services or their inclusion tree. If this behavior is a problem, the best workaround is to temporarily turn Bluetooth off. This causes a reset of the cache data. Currently Android exhibits such a cache behavior.</p><!-- @@@discoverServices -->
<!-- $$$discoveryFinished[overload1]$$$discoveryFinished -->
<h3 class="fn" id="discoveryFinished"><a name="discoveryFinished"></a><code>[signal] </code><span class="type">void</span> QLowEnergyController::<span class="name">discoveryFinished</span>()</h3>
<p>This signal is emitted when the running service discovery finishes. The signal is not emitted if the discovery process finishes with an error.</p>
<p><b>See also </b><a href="qlowenergycontroller.html#discoverServices">discoverServices</a>() and <a href="qlowenergycontroller.html#error">error</a>().</p>
<!-- @@@discoveryFinished -->
<!-- $$$error[overload1]$$$error -->
<h3 class="fn" id="error"><a name="error"></a><span class="type"><a href="qlowenergycontroller.html#Error-enum">Error</a></span> QLowEnergyController::<span class="name">error</span>() const</h3>
<p>Returns the last occurred error or <a href="qlowenergycontroller.html#Error-enum">NoError</a>.</p>
<!-- @@@error -->
<!-- $$$error$$$errorQLowEnergyController::Error -->
<h3 class="fn" id="error-2"><a name="error-2"></a><code>[signal] </code><span class="type">void</span> QLowEnergyController::<span class="name">error</span>(<span class="type"><a href="qlowenergycontroller.html#Error-enum">QLowEnergyController::Error</a></span><i> newError</i>)</h3>
<p>This signal is emitted when an error occurs. The <i>newError</i> parameter describes the error that occurred.</p>
<p><b>See also </b><a href="qlowenergycontroller.html#error">error</a>() and <a href="qlowenergycontroller.html#errorString">errorString</a>().</p>
<!-- @@@error -->
<!-- $$$errorString[overload1]$$$errorString -->
<h3 class="fn" id="errorString"><a name="errorString"></a><span class="type"><a href="../qtcore/qstring.html">QString</a></span> QLowEnergyController::<span class="name">errorString</span>() const</h3>
<p>Returns a textual representation of the last occurred error. The string is translated.</p>
<!-- @@@errorString -->
<!-- $$$localAddress[overload1]$$$localAddress -->
<h3 class="fn" id="localAddress"><a name="localAddress"></a><span class="type"><a href="qbluetoothaddress.html">QBluetoothAddress</a></span> QLowEnergyController::<span class="name">localAddress</span>() const</h3>
<p>Returns the address of the local Bluetooth adapter being used for the communication.</p>
<p>If this class instance was requested to use the default adapter but there was no default adapter when creating this class instance, the returned <a href="qbluetoothaddress.html">QBluetoothAddress</a> will be null.</p>
<p><b>See also </b><a href="qbluetoothaddress.html#isNull">QBluetoothAddress::isNull</a>().</p>
<!-- @@@localAddress -->
<!-- $$$remoteAddress[overload1]$$$remoteAddress -->
<h3 class="fn" id="remoteAddress"><a name="remoteAddress"></a><span class="type"><a href="qbluetoothaddress.html">QBluetoothAddress</a></span> QLowEnergyController::<span class="name">remoteAddress</span>() const</h3>
<p>Returns the address of the remote Bluetooth Low Energy device.</p>
<!-- @@@remoteAddress -->
<!-- $$$remoteAddressType[overload1]$$$remoteAddressType -->
<h3 class="fn" id="remoteAddressType"><a name="remoteAddressType"></a><span class="type"><a href="qlowenergycontroller.html#RemoteAddressType-enum">RemoteAddressType</a></span> QLowEnergyController::<span class="name">remoteAddressType</span>() const</h3>
<p>Returns the type of <a href="qlowenergycontroller.html#remoteAddress">remoteAddress</a>(). By default, this value is initialized to <a href="qlowenergycontroller.html#RemoteAddressType-enum">PublicAddress</a>.</p>
<p><b>See also </b><a href="qlowenergycontroller.html#setRemoteAddressType">setRemoteAddressType</a>().</p>
<!-- @@@remoteAddressType -->
<!-- $$$remoteName[overload1]$$$remoteName -->
<h3 class="fn" id="remoteName"><a name="remoteName"></a><span class="type"><a href="../qtcore/qstring.html">QString</a></span> QLowEnergyController::<span class="name">remoteName</span>() const</h3>
<p>Returns the name of the remote Bluetooth Low Energy device.</p>
<p>This function was introduced in  Qt 5.5.</p>
<!-- @@@remoteName -->
<!-- $$$serviceDiscovered[overload1]$$$serviceDiscoveredconstQBluetoothUuid& -->
<h3 class="fn" id="serviceDiscovered"><a name="serviceDiscovered"></a><code>[signal] </code><span class="type">void</span> QLowEnergyController::<span class="name">serviceDiscovered</span>(const <span class="type"><a href="qbluetoothuuid.html">QBluetoothUuid</a></span> &amp;<i> newService</i>)</h3>
<p>This signal is emitted each time a new service is discovered. The <i>newService</i> parameter contains the UUID of the found service.</p>
<p><b>See also </b><a href="qlowenergycontroller.html#discoverServices">discoverServices</a>() and <a href="qlowenergycontroller.html#discoveryFinished">discoveryFinished</a>().</p>
<!-- @@@serviceDiscovered -->
<!-- $$$services[overload1]$$$services -->
<h3 class="fn" id="services"><a name="services"></a><span class="type"><a href="../qtcore/qlist.html">QList</a></span>&lt;<span class="type"><a href="qbluetoothuuid.html">QBluetoothUuid</a></span>&gt; QLowEnergyController::<span class="name">services</span>() const</h3>
<p>Returns the list of services offered by the remote device.</p>
<p>The list contains all primary and secondary services.</p>
<p><b>See also </b><a href="qlowenergycontroller.html#createServiceObject">createServiceObject</a>().</p>
<!-- @@@services -->
<!-- $$$setRemoteAddressType[overload1]$$$setRemoteAddressTypeRemoteAddressType -->
<h3 class="fn" id="setRemoteAddressType"><a name="setRemoteAddressType"></a><span class="type">void</span> QLowEnergyController::<span class="name">setRemoteAddressType</span>(<span class="type"><a href="qlowenergycontroller.html#RemoteAddressType-enum">RemoteAddressType</a></span><i> type</i>)</h3>
<p>Sets the remote address <i>type</i>. The type is required to connect to the remote Bluetooth Low Energy device.</p>
<p><b>See also </b><a href="qlowenergycontroller.html#remoteAddressType">remoteAddressType</a>().</p>
<!-- @@@setRemoteAddressType -->
<!-- $$$state[overload1]$$$state -->
<h3 class="fn" id="state"><a name="state"></a><span class="type"><a href="qlowenergycontroller.html#ControllerState-enum">ControllerState</a></span> QLowEnergyController::<span class="name">state</span>() const</h3>
<p>Returns the current state of the controller.</p>
<p><b>See also </b><a href="qlowenergycontroller.html#stateChanged">stateChanged</a>().</p>
<!-- @@@state -->
<!-- $$$stateChanged[overload1]$$$stateChangedQLowEnergyController::ControllerState -->
<h3 class="fn" id="stateChanged"><a name="stateChanged"></a><code>[signal] </code><span class="type">void</span> QLowEnergyController::<span class="name">stateChanged</span>(<span class="type"><a href="qlowenergycontroller.html#ControllerState-enum">QLowEnergyController::ControllerState</a></span><i> state</i>)</h3>
<p>This signal is emitted when the controller's state changes. The new <i>state</i> can also be retrieved via <a href="qlowenergycontroller.html#state">state</a>().</p>
<p><b>See also </b><a href="qlowenergycontroller.html#state">state</a>().</p>
<!-- @@@stateChanged -->
</div>
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2015 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>