| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: I62ba10117b544e6a31a3fd92f8dbc65ea4ea3ff6
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
After reporting 'UnsupportedMethodError' we should immediately return
instead of starting LE scan.
Change-Id: I3861373059fac567dc93e8edb99fba4f6d8b872c
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Now that our API has Classic/LowEnergy device discovery option -
implement this distinction on macOS.
Task-number: QTBUG-46253
Change-Id: Ia3f58e2254ed7f6ef89e2071cd8683384c538178
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
| |
Task-number: QTBUG-46253
Change-Id: Ia0189228df5d219eff9e8b92cfa242bd0f28beb3
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change introduces the new API but does not yet implement the specific selection.
In any case BlueZ does not need any specific implementation as classic and BTLE
devices are found using the same method. iOS does not need any specific implementation
as it only supports BTLE discovery.
Task-number: QTBUG-46253
Change-Id: Ie6365966091effe5f3a68f8a283657c7cb43b692
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Fix usage of \a where \sa should have been used and adds a
documenation clarification.
Change-Id: I9f9f95aee515ca8507835cbff3f348e8472922b8
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|\
| |
| |
| | |
Change-Id: Id86ae2d8b9f8ebd2a37e8e5fc279916bc92d9982
|
| |\
| | |
| | |
| | | |
Change-Id: Ifbb36469f4a325b1b783cb3b018d7793680a9055
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-54055
Change-Id: Id2c42efe6c916b6f7437cb4c02fbb19430c9a44b
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
qbluetoothdevicediscoveryagent_p.cpp not needed on iOS, since
for iOS we already have iOS-specific version defined completely in the
corresponding .mm file. This is quite obvious ODR violation, but not
so obvious for compiler/linker apparently.
Change-Id: I7b7d0c9596cccea307ec7acbafbb6cd31b41d885
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It seems clang trunk cannot distinguish std::bind from bind() in
sys/socket.h. There is no apparent std namespace usage but clang
still complains. This patch resolves the disambiguity.
Task-number: QTBUG-53683
Change-Id: Ib4bbe4a4cdf679fa3314abba5970968d7d8a9857
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
|
| |\ \
| | | |
| | | |
| | | | |
Change-Id: I7cd3889f3c2c82a51496b74813cfdee6495517fa
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Without this fix Qt Creator tags the example "broken".
Change-Id: I193177bca1e0c8615e46a67e76afc98d935e590b
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Reviewed-by: Topi Reiniƶ <topi.reinio@theqtcompany.com>
|
| | |\ \
| | | | |
| | | | |
| | | | | |
Change-Id: Ia4d1af9c446b3248d7b4fd7c2ceef845099885a4
|
| | |\ \ \
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I5406c601fa05e347a7c7558e42fb05029799ff27
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The documentation was not complete as BTLE service definition and
interaction was still missing. Those components are new in Qt 5.7.
Change-Id: Ifd9057d659e541a853eeb49d03d46bfe9c2d4da4
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This emphasizes the status of new API additions.
Change-Id: Ida21c100f7636d7878dece13145d4595c76eaa9c
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I60f7c4751cb2b1a298a22d2b6d44c1c07967e47c
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I50cc1dafeb85d78427f5911e1c607ae0e99ed333
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I6f2c1fa503f623ca08c8a3f976699d0d7b547c2f
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
These two platforms always use a timeout. There is no need to test for
a disabled timeout feature.
Change-Id: If066c286d283ae793ef2b41794587792511a5926
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This can avoid accidental issues or wrong assumptions.
Task-number: QTBUG-53012
Change-Id: I02024a640f89954d6e55b87825276ea6f5f3d862
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Task-number: QTBUG-53012
Change-Id: I282cb76871eec857b6df8001f9f726ee4ce91e29
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
BlueZ 4 does not support timed device search as the relevant API comes
back on its own. BlueZ 5 already had such a timer which we just
connect to the new API elements.
Task-number: QTBUG-53012
Change-Id: Id23fb31aca97932b6a898687fda0970e7d58d95f
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
- Instead of hardcoded 10 second timeout use the latest Qt API enabling
arbitrary or infinite length for LE device discovery.
- Since now scan can take long or unlimited time, the previous approach
with detached CBCentralManager and DDA is not working anymore -
we can not report devices only at the end of scan.
Re-use LENotifier and signals/slots instead.
- Remove DDA timer, timeout logic is completely inside
osxbtledeviceinquiry object now.
Change-Id: I07735581ac175d1d5e5d788aaf697dcb41429e31
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This timeout adjusts the BTLE device discovery. Some BTLE devices
require some time to show up in such a search. In general the platforms
use open ended search methodologies as their own usage pattern for
BTLE device discovery too. So far Qt Bluetooth limited the time
through a hardcoded value which the API user could not adjust.
Task-number: QTBUG-53012
Change-Id: Ia37cebd4015b438db998c6b4a265f563c1a2f89f
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|\| | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I7d51a0fab65a0cb1206609ff3a58c7f0ef0661b6
|
| |\ \ \ \ \
| | | |_|_|/
| | |/| | |
| | | | | | |
Change-Id: Id8dffff9bb75db396aabf6da2a3acb78505a6476
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When the model changes quickly from one discovery mode to the next, the
public device discovery agent and the internal device discovery agent
inside QBlutoothServiceDiscoveryAgent interact with each other. One agent
is shutting down while the other is starting. Since both instances
manage the same hardware, the resulting signals hit the agents in
unexpected states which even leads to random crashes.
The fix is to let one agent stop and only start the next one once the
first has properly shut down. Unfortunately the public BluetoothModel
API acts synchronously via its running property. Therefore the
synchronous running property must be mapped to asynchronous state changes
inside the agents. To achieve this the model uses an internal state
transition table which determines how the next setRunning(bool) call
is to be processed.
As a consequence it is possible to have a non-running BluetoothModel
but the internal agent is still shutting down. Another scenario
might exhibit a running model whereas one internal agent is still
finishing up and the next is waiting to start.
Task-number: QTBUG-51307
Change-Id: I0a471b913b8784d2218a797442cee7ee4d00edf3
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This may happen when the device discovery agent is quickly started and
stopped and started again. If the stop-start combination is happening
quicker than dbus can deliver the Discovering flag of the Adapter1
BlueZ interface, BlueZ's stop response will override the new start
discovery request.
Task-number: QTBUG-53715
Change-Id: I6a03fc525c7f390db009fc68a5313352ebba7f79
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
PUBLIC_BROWSE_GROUP scans are not always supported. In such cases
more targeted service scans are to be used. This patch modifies
QBluetoothServiceDiscoveryAgent such that when a uuid filter
is set targeted service scans are used rather than generic
PUBLIC_BROWSE_GROUP ones.
QBluetoothSocket always scans with an applied uuid filter and
therefore directly benefits from the patch.
Change-Id: I94997d2cf8f70fa7db5422d78c8bfdbe2aa1dbbc
Task-number: QTBUG-53041
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Task-number: QTBUG-53749
Change-Id: I6e7832b4a5a70bed153fb8b0718b3c66177ffd58
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Multiple device discovery agents can influence each other as they
monitor the same DBus BlueZ adapter. When one agent started
and another just stopped/finished the discovery process, the newly
started agent is caught in an unprepared state.
The other use case where this might happen is when one agent stopped
the discovery and another agent goes through the same start/stop cycle
in very quick order, then the first agent may still have pending signals
despiter adapter being deleted.
In any case this patch simply ensures that an already inactive
agent doesn't go through the finishing process again.
Task-number: QTBUG-51307
Change-Id: If0e2b944f1ceadb9037179c4fde2f3f79741d0a5
Reviewed-by: dmnikola <dmitry.nikolaev@theqtcompany.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The agent class constructors were initializing the q_ptr member of
their d_ptr; it is cleaner to pass this down to the d_ptr's
constructor and let it do this itself. This also lets Coverity know
that initialization actually does happen (CID 22330). In particular,
it makes sure we can't leave it uninitialized, if an agent
implementation happens to neglect to do so.
Change-Id: Ie01046a5a113b5669e8e63c6a22f692cd3943ac0
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This happens when the Android device does not support BTLE. Previously
the device search agent progressed even when it claimed that it was
done already.
Change-Id: If14df70bba02703f5feb8bc9c0569f596defede9
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The error(), finished() and canceled() signals notify the user about
internal state changes. Signal handlers may call back into the same
class instance that just emitted the signals. If the instance did not
cleanup its internal state then the sudden reentry can cause weird
behavior.
Adds a comment that the pendingCancel & pendingStart behavior is
to be removed in Qt6. It has little advantage and cuases lots of
headaches. Unfortunately all backends exhibit the behavior and
therefore every backend has to change accordingly.
Task-number: QTBUG-51307
Change-Id: Ia5bf9efd0ed27e015361b10499ced069d16a9c93
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The writer wasn't initialized; Coverity grumbled (CID 22323).
Various stanzas take for granted that one or other is set; assert
there. Various stanzas created each afresh, without considering they
might be leaking a prior one; delete first (could probably have
asserted == 0 instead).
Change-Id: I4c792fbbd611e06c28235ceafee40cc18268c60d
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
No Q_FUNC_INFO in qCDebug/Warning/Critical needed anymore.
Change-Id: I0e47ccc7ffa971b8277b8d742e00319f4acef2f7
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Since now the use of Q_FUNC_INFO is not recommended (and indeed can
mix ugly with QT_MESSAGE_PATTERN), remove it (it now stays only in
3-parameter Q_ASSERTs and NSLogs.
The next patch will do the same kind of cleanup in C++ part.
Change-Id: Ief8bd7c90ea2ff2a99f246885691102062aa5e54
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Since we now have OS X 10.9 and iOS 7.0 as the minimal required
(SDK and deployment target) - get rid of outdated code-branches
in _SDK_EQUAL_OR_ABOVE etc.
Change-Id: I5f546e8bb746f6b94f26a40460b3caa0af6a531c
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|\| | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I81395f5ecbb7ac3a9eb69a92b5920b0decc2d1fa
|
| |\| | | |
| | |_|/ /
| |/| | |
| | | | | |
Change-Id: I33cfb293df15c82247561d3540a4513cdf63b910
|
| | |\ \ \
| | | | |/
| | | |/|
| | | | | |
Change-Id: I666ffe72bed5b809d4214f0600da65f6bbfc4609
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Bluetooth on iOS needs some of 'default' (or 'dummy') implementations,
but does not want warnings like 'Dummy backend running', as it's
not really dummy. Also, having printDummyWarning calls
can end-up in a linker error since we do not build dummy_helper.cpp on iOS.
The solution is to ifndef all these calls/includes.
Change-Id: I9c64f2bacbc6134ed30d75f85f9df0194add418d
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| |\| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
.qmake.conf
Change-Id: Ia9bc69bf68eb40ceb9bd5bd63d96ab4dece43c00
|
| | |\| |
| | | | |
| | | | |
| | | | | |
Change-Id: I210f9a9a06e48a63073f0ef8474fc963ce24936d
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fix missing symbol problem on iOS and Android.
Change-Id: I055e0b9db8757ab0e92c640736e9bdb9de48e726
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Examples in binary packages now directly match the install path.
Change-Id: I8fc41af85033c88d6a3129efdb616dac6d99866d
Task-number: QTBUG-52953
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
|
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It seems that some BTLE devices require more than 10s to be found.
This timeout change increases the chances to find slow remote devices.
The user has to cancel if he doesn't want to wait the full 25s.
Task-number: QTBUG-53012
Change-Id: Id9bafbe09528619ac6dff17c33322ef90beb8829
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QBluetoothUuid.toUInt128() always returns big endian notation.
We have to convert it to host order before we convert to Bluetooth
order.
Task-number: QTBUG-53421
Change-Id: Ibab4f06fa70739adb163523c803a203608454427
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|