| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Fix a potential memory leak in _bluez and _qnx versions of copyToTempFile.
Change-Id: I4c21d25b88620747adaaea8f2da561ca0b3d5df6
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
The disconnected() and stateChanged() signals are delayed which
may easily overlooked by API users. This change specifically points out
this behavior difference.
Change-Id: I3a9e9c656da50c9efe455cd2dbf903a2849e36da
Task-number: QTBUG-41770
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
|
|
|
|
|
|
|
| |
Change-Id: I4bf466a3f6c34b338f741ec003343b572e73d738
Task-number: QTBUG-41250
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
|
|
|
|
|
|
|
|
| |
This makes the example more compliant with general UI color guidelines
and cuts out unnecessary code.
Change-Id: I1cf7df602e586a667ebd052ed45baef8eafb6955
Reviewed-by: Sami Makkonen <sami.makkonen@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
|
|
|
|
|
|
|
|
| |
The change makes a few minor cosmetic changes (e.g. sorting by
alphabet and better descriptions) to the overview page too.
Change-Id: I20c6e4735dd531b457fdf52b59f00e8a285a7397
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
|
|
|
|
|
|
|
|
| |
It is realted to nfc socket streaming which we don't support at this
stage.
Change-Id: Idae80decad7aa2cdf7eb67b82ddc3e20384df8b8
Reviewed-by: Martin Leutelt <martin.leutelt@basyskom.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Those platforms require a running QBluetoothServer to satisfy the
prerequisites of calling QBluetoothServiceInfo::registerService().
This requirement is imposed by the public API contract anyway.
Change-Id: I2498030fa2787df9745580cd744886693945fe4f
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The function didn't return true right after calling listen(). This
is caused by the fakeserverport implementation. On Android listen()
doesn't really initiate the listen until
QBluetoothServiceInfo::registerService() was called. We need to check
the fakeServerPort registration to check whether we are listening
already.
[ChangeLog][QtBluetooth][Android] Fixed broken
QBluetoothServer::isListening(). It returned false right after a
successful call to listen().
Change-Id: I24de02602b401ecbbedaafd19d824170a181e03f
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
|
|
|
|
| |
Change-Id: I073b0b4432d7e51516584aa1d23c681bb8544392
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
|
|
|
|
|
| |
Change-Id: I235c54591dbbf04aa58c024093beca8c068b4aed
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
|
|
|
|
| |
Change-Id: If1add78a34f4d01313e022bd7af1d53ac2abd535
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
|
|
|
|
|
| |
Change-Id: I9dfff5fbbb8ce939de37fcf1b4f03fd7569b9203
Task-number: QTBUG-36496
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
|
|
|
|
|
| |
Change-Id: I161cac536d261c517a8323777561f8380b7d4bfb
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
|
|
|
|
|
| |
Re-order some declarations to make the example work on OS X.
Change-Id: I9e74ce7b19a3d749f6ba0f951c1ce013f42729f7
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
|
|
|
|
| |
Change-Id: Ic8387dd411a9784b6163a15d423cdeaa5e63ea30
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1.) ElidedMiddle makes the text disappear on Debian and Ubuntu. Swapping
elide mode to wrap mode which serves the same purpose
2.) The server was started as rfcomm channel but the client used L2Cap
protocol. It may have worked anyway because rfcomm is based on l2cap.
In any case this shouldn't be relied upon especially since some
platforms don't support l2cap sockets as part of the public API offering.
This way the example becomes more widely usable.
Change-Id: Ibbcd7029d5843e86af0313037b6433017eb92c76
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
|
|
|
|
|
|
| |
Internal or not yet released classes have been skipped
Change-Id: I5bc3e08f87348ae8df61b923d7cdb81186ebebc8
Task-number: QTBUG-36775
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
|
|
|
|
|
| |
Change-Id: I50d818294cb53962bca2b08edbfdc4558890777c
Task-number: QTBUG-36775
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
|
|
|
|
|
|
|
| |
Although no larger changes are expected the QLowEnergy* classes only
provide a limited API commitment.
Change-Id: I244403b8818c2b34a97c8d6f2633e4b94646e49b
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
|
|
|
|
|
|
|
| |
service was not declared, it should be lowEnergyService
Change-Id: I1419dbaa865b0bcce51ad2e8cf13c24cef40f1fa
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Internally the transfer reply starts via QueuedConnection. Therefore the
finished signal doesn't have to be delayed even further. In addition
document the tight restriction when being interested in signals from
QBluetoothtransferReply.
Change-Id: I0358140e96e1e9709158310c493f34ea5e40582a
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The signal makes error handling much more conveniant. One error situation
on QNX did not emit the required finished()/errorType() signals when
required.
A few minor typo fixes.
Task-number: QTBUG-38983
Change-Id: I89c3fbee43921c8894a0ab200ee5550e7dc44543
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
Change-Id: Id031d60ca79d8c90063c1d12903e75a418f47290
|
| | |
| | |
| | |
| | | |
Change-Id: Ie6b24bd43dde20efcae1ac6ca938a7cccae969d3
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I1249009d90ce9d0a7cc1e1b86a0cde8ca23ad917
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|/ /
| |
| |
| |
| |
| | |
Task-number: QTBUG-37419
Change-Id: I15cedd382ee98845e51da8cd467fda1d941c1332
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is triggered if the GATT
server complains about missing authorization/encryption
when reading an attribute.
The same mechanism has to be applied to all remaining
read and write types
Change-Id: Ia8330951ffdc61afb98424557bbeffe444e9a812
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The first step is to monitor encryption changes. Later we will add more
events and possibly commands as needed.
Change-Id: I03ca547678bbfc971f53b32b1efde601685dd7e1
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Later this will be needed to read/write authorized and encrypted
characteristic/descriptor values.
Change-Id: Ibc70b65b51723d6e0668ee177f5dbd1df2ba047f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: Id57a4da506ca34f01d615eef8a38b812bf3df13b
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These limitations are not expected to be fixed during Qt 5.4 release.
They are tracked by QTBUG-41174 & QTBUG-41175
Change-Id: Ibc102e35fe5d459f424a704572ec78436ca9d6d6
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use the combination of prepare/execute commands to implement writing
of descriptor values which are longer than ATT MTU size. Long
characteristic writes are already implemented and the related code was
adopted to cater for descriptor writes.
At the same time we remove related TODO's from the code base.
Last but not least ensure that writing of a descriptor with the same value
as the pre-existing value is possible. This restriction is not helpful
as some BTLE devices use writing of values as trigger for internal events
and notifications. This was encountered on a test device when
implementing the long write support.
Change-Id: If765dc9393239dbbd1bb6a9bc942287b28d65cd6
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1.) Use updateValueOf*() where possible to channel all value changes
through the same gate.
2.) BTLE connects have a much larger timeout when the remote device is
not present. The device discovery could still turn up this device due
to existing pairing information.
3.) Remove obsolete write long characteristic TODO
Change-Id: I5b5815b0c3b99f8c4f87e0f1747ac6f1e274e592
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Adding HEADER to the name makes it more obvious which part of the
message is meant.
Change-Id: I207db40134db1ce558ccf89c3fd8b53fa68891f6
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In this context long means the characteristic value is longer than the
maximal ATT message size. In such cases the Bluetooth spec demands a
combination of PrepareWrite commands finished by an ExecuteWrite.
This is very similar to reliable writes which use the same combination
of prepare/execute but permit the atomic writing of multiple
characteristics at the same time. Reliable writes are not (yet)
supported by the public API.
Also, this works for characteristics only. Long descriptor writes
will follow.
Change-Id: Id139ad1848c92ca5ebf1bd1dfe8e3da297312d4f
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
|
| |
| |
| |
| |
| |
| |
| | |
This adds some valuable piece of information from the Bluetooth spec.
Change-Id: Idb0211e23a3fc03674f7878eaebea9c529dbd69d
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
At the same time we fix up some cases where the ProtocolDescriptorList
was not a list within a list.
Change-Id: If0ec6cf6374902a47a905edd08523906be9fd86b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
There is no need for this class anymore as QBluetoothServiceInfo
covers the same information.
Change-Id: I411a8abb68b34a3a4893a67ee9fac096f44bbd62
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I87575fb7b5115a536e12c0a00374cc0e67428706
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The previous characteristicChanged() signal was emitted when the
characteristic was updated due to a notification and when the value was
changed using writeCharacteristic(). This meant that it was not possible
to distinguish the two use cases. The new signal is only
emitted in response to writeCharacteristic() whereas the old signal is
only emitted when the peripheral indicates a change.
Change-Id: Ie8797090f9463ae0e7fb053a42a79afa6829ca75
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is the part of a change to be able to distinguish
characteristic write confirmations from characteristic
change notifications. Since descriptors
cannot receive notifications they won't have a
changed() signal and all existing
descriptorChanged() signals become descriptorWritten()
signals.
The changed() signal is emitted when a value notification
is received from the device. The written() signal is emitted
when a write request from the API user was successful.
Change-Id: Ief2491ead4723eaa1bca65a09a09c34458f33630
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
So far, we only supported write requests which reply with write
responses.
Change-Id: Ibdad36dcf18dec23260f003911b9361cc4ab1e3d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: Ie3146c136461ad4ecde4169f3b30dda0c814ca7b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I963f47f0089d072249b73bdfb0c715d43186b08d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is required to be able to connect to devices which use random device
addresses. Some platforms can determine this flag based on their last
device scan. The flag is likely to be provided as part of
QBluetoothDeviceInfo once the information is available.
Unfortunately non-le scan on BLuez doesn't inform about the
flag. The LE device scan is currently not implemented and, even worse,
requires root privileges on Linux. The new API element permits the
selection of the correct type when the scan doesn't detect the type
properly.
Change-Id: I8e7118658a7c927e0ea07b0d639d57f9483cb33c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Bluetooth byte order is little endian. htbos ensures the psm is
converted to the required byte order.
Change-Id: I22362d1f1fe3978df7855eab14154644a1d60a0d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/bluetooth/qbluetoothdevicediscoveryagent_p.cpp
Change-Id: Ie8bf1903f9c7c1ccd5b05a3f97049ae0882b88b8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
L2CP's psm (the RFCOMM port equivalent) was never published via SDP.
Therefore the service client could not get the required information
to connect to the server. After this patch Qt properly publishes
the psm.
Also, QBluetoothSocket::connect() initiated a service
discovery to obtain the missing psm. Since the published SDP
entry didn't contain one, protocolServiceMultiplexer() always returned
0 and another service discovery was initiated. This caused a crash
inside QBluetoothSocket because the 1st QBluetoothServiceDiscoveryAgent
instance was deleted in favor of the 2nd.
The patch changes the client behavior such that it doesn't crash
if the service discovery didn't turn up a valid psm/port.
It improves the robustness in case of an error and avoids
a second service discovery (which wouldn't turn up more information
anyway).
The bug only affected Bluez as it is the only platform supporting
pure L2CP sockets.
Last but not least a capability to test L2CP sockets was added to
bttestui.
Change-Id: I46c88a67c2baa4782ea908e645dcd4db9422dbba
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
|
| |
| |
| |
| |
| | |
Change-Id: I0f079a9b1b45bd2d2e946e06d7688f299a9c3fc3
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|