| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
As msvc2013 was dropped we can add the capabilities independent of the
msvc version for winrt.
Change-Id: I14aea0da9226a5de6ffa2cf7c69a4ae5a69e8256
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Miguel Costa <miguel.costa@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|
|
|
|
| |
Change-Id: I57b18167dacb776a00d406e3faba6e780c764771
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Embedded Android build (Boot to Qt Android injection) is defined by
having both Q_OS_ANDROID and Q_OS_ANDROID_EMBEDDED flags defined,
as well as having Qt config android-embedded.
Those flags are set in mkspecs when building for embedded Android.
This commit enables the possibility to build embedded Android builds.
(i.e. Qt build for Android baselayer only, without JNI)
Change-Id: I2ded43d7ed46a99ba70301f07a791ed4a148c6c0
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
| |
Change-Id: I4fbb948841a610640acaf87364e2157e31782836
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The QtBluetooth library only builds the bluez backend when qtdbus is
enabled. Previously it was possible that dbus was disabled but the bluez
feature flag is still set. This patch prevents this gap by directly
binding the bluez feature to the dbus feature.
Change-Id: I173d51f27f5b1a78241548617f602830fec7bb14
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
| |
With classic bluetooth in place the dummy warning is no longer needed
even though peripheral support is not implemented yet.
Change-Id: Ia6e471cf74583d9ea704217687de272dc6d46433
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
| |
Change-Id: I0bc4da9d8ac17930d509a55c8c5c6494dad4558f
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|
|
|
|
|
| |
Task-numer: QTBUG-37779
Change-Id: Ieb3ed5dfea7d60b3875cbe97bb26f8060bebcc17
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-37779
Change-Id: I7fb49a6870768da956793b0d0681c371da939df9
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In Windows 10 SDK versions < 14393 full service discovery is not
supported. While GetRfcommServicesWithCacheModeAsync enables us
to specify the lookup mode get_RfcommServices only returns cached
services.
To be able to offer some functionality for older version we use its
results but give a warning about the limited abilites of this API
in case of full service discovery.
Task-number: QTBUG-37779
Change-Id: I21a15f8bb1d058780c8322ece2c3d9a285ecab25
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|
|
|
|
|
|
|
| |
Properly do the detection of bluez and the linux crypto API,
and don't run pkg-config at build time.
Change-Id: I0f082992c0f82e90e611283ff0c2cc0143e74bd6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
|
|
|
|
|
|
|
| |
For Windows (Phone) 8.1 the bluetooth capabilities are more complicated
and incompatible with the way we add them from qmake.
Change-Id: Iccffd2200c0e50b300da27b1207da844f9982091
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As Windows 10 (Mobile) asks for permission before the user is able
to use a Bluetooth (LE) device, the synchronous approach does not work any
more.
While implementing that new asynchronous way the sources were also
cleaned up to be more readable (separate declaration and definition of
QWinRTBluetoothDeviceDiscoveryWorker).
As device discovery and Bluetooth LE work as expected on Windows 10
(Mobile) it is enabled by default now.
Task-number: QTBUG-55862
Change-Id: I9e4a8d21d013b9eaf603380a784afdda3e1ab9ec
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|\
| |
| |
| |
| |
| |
| | |
Adds the minimum compile requirements for the new
QBluetoothDeviceDiscoveryAgent API.
Change-Id: Idfe07bee63de9d2849ab68eb455d0be470591795
|
| |\
| | |
| | |
| | | |
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>
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- 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>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-37779
Change-Id: I0f83e706a10d6c42543bd41aa012fde746f1a334
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ibfc1b272664b989e9836e02674691f24a53a5231
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The WinRT port is not complete yet. The dummy backend still very
much used by the WinRT backend. For now we leave the dummy warning in.
Change-Id: Ifc7e4973000d4279c87294e00d685063e5c8b4fe
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: I073f6c45696fe28b83335fb65cca6270c458851d
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
examples/nfc/corkboard/corkboard.pro
Change-Id: I5d1ea0a8e21a1b55dbf744c2f4b469bc51f05c7a
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There have been plenty of bugs where QtBluetooth was compiled
with the dummy backend and the API user reported bugs against it. So far
debug output was not able to identify the dummy backend which made
debugging of customer code more difficult.
This patch prints the name of the backend once shortly after the
application startup. The other backends like Bluez do that already.
Change-Id: I86353ef3c9c99cafac38805f253e20a3ad3e10a5
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since Android 6.0 Bluetooth device discovery requires
new permissions (ACCESS_FINE_LOCATION or ACCESS_COURSE_LOCATION).
Otherwise non-BTLE devices will no show up anymore. This patch adds the
required permissions to QtBLuetooth.
For details see
http://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-hardware-id
Task-number: QTBUG-52530
Change-Id: I7b64ab57c5c9ee2e08308eaa58d33708c5e31244
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I0358b76dd2b9fb2a6224c4b9b2082a748b2d5d7a
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/bluetooth/bluetooth.pro
Change-Id: Ied68947463e7eba418386a99903131d2cbdd458b
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ida2256e88c7ebe698f8b4734afc504dcef2da2d2
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
this fixes static builds by ensuring that all dependencies are exported.
Task-number: QTBUG-51071
Change-Id: I3cdb59c65dbbf2b536ee927dd912349b4ceca335
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-41175
Change-Id: I62d74236faf9161681306d952e409e23e0cea24d
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- This is how we get at the signature resolving key:
1) On connection from a client, we read the key from the
respective BlueZ settings file (BlueZ 5 only, as I did
not manage to find out where BlueZ 4 keeps this information).
2) Also monitor the HCI traffic for key updates (due to re-pairing).
- While there is an autotest for the actual hashing procedure, the
overall feature cannot be easily tested for various reasons (there is
no signed write support in our client API, for one). However, to help
with manual testing, the server part of our autotest now exposes a
characteristic that supports signed writes.
- This feature requires a Linux kernel >= 3.7.
Change-Id: I7ede9b430de167fe1f4519eedf8670d88d79aa25
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Implemented for BlueZ only.
Change-Id: I358a98bbc7499d5ce5437fb0d4672fde46c3b831
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/bluetooth/qlowenergycontroller.cpp
Change-Id: I28b116deb3fa87169432eb2d94b70894359a9057
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Builds but not tested
Moved Q_DECLARE_METATYPE outside of namespace to fix namespaced builds
Change-Id: I19c1dba904da8fad155f0f612b863e8f5e0c422e
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| |\|
| | |
| | |
| | | |
Change-Id: I1fc766d26aadb7cc01d33c4c8a2260411d7bb138
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Move CBCentralManager's delegate to its own dispatch queue, not the main one,
so that even if somebody _blocks_ the main thread somehow, waiting for discovery
to finish, the discovery can, indeed, finish. Also, make DDA aware of the fact
that now actual scan and 'this' are working on different threads, thus we must
be thread-safe.
Task-number: QTBUG-49476
Change-Id: I9bcc74131f51389c8a014577c65e0943bbc8da42
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is the next step in implementing LE peripheral support.
Change-Id: I5e8cb186d556e7bfb9ae8a5e60e051ff7398b77d
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| |/
| |
| |
| |
| |
| |
| | |
And provide an implementation for BlueZ.
Change-Id: I302aee7c43b77016d9e1e7a0d5bcbf00096abf76
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|/
|
|
|
|
| |
Change-Id: I1086ffb05b7a632a9329822c150169a3482c6655
Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][QtBluetooth][Platform Specific Changes] Removed
support for Blackberry 10.
Change-Id: I431c4f34bb10aa3668542df7a8b3403b61bf4705
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
CBCentralManager does not have a timeout while scanning and we had
to use a delayed selector (via performSelector) to interrupt the scan. This is a bug in
the case we're in NSModalPanelRunLoopMode mode (for example) - selector
never gets performed (it waits for the default mode) or performed too late.
Found in our btchat example. Now we use external QTimer instead to
check if it's time to stop a scan.
Change-Id: I159bf5821398f3aa76f03a52a8334dea97cbf688
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Fix asserts/messages to use Q_FUNC_INFO + fix .pro file not to
print 'unsupported platform'.
Change-Id: Iac33812212643229195a504d44c15bf9a56d16ba
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
| |
Enable Core Bluetooth-based version for iOS.
Change-Id: Ica13fdc6c01744713483771e7c8ad6153c9fccdf
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
QLowEnergyController/Private for OS X and iOS.
This patch contains dummy empty classes required.
While LE controller is not fully implemented, I have to
disable (marking as insignificant) auto test on this class,
otherwise changing the (empty) class to pass the test adds more problem.
Change-Id: I54f764f7f6468b1acf58e80555ae454922de9f3b
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a QBluetoothDeviceDiscoveryAgent for iOS, implementation is based on
Core Bluetooth framework. Low Energy devices scan only.
- Ctor with address: set error as invalid bluetooth adapter error,
Core Bluetooth framework does not provide access to the local adapter's address.
- Adjust a test - we do not have access to the 'local device' information on iOS
(no address, no number of devices etc.) - skip the last test in tst_deviceDiscovery.
Change-Id: I49080d021c340016aebc548cc8ed758777c66397
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
and keep tracking the connection state
Change-Id: If4d05fa18c78802ae06096884fba78eed123e77f
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement file transfer using IOBluetoothOBEXSession.
- Add OBEX session class and session delegate.
- Implement OBEX connect operation.
- Aux. function to convert OBEX data into Qt's data types.
- Start implementing OBEX put.
- Extract a connection ID from response headers (if any?).
- OBEX Put (without response/event handler yet).
- OBEX Put completed - send the remaining chunks of data (if any).
Change the unicode string encoding - byte order.
- OBEX change error handling - there can be real errors (OBEX event type == error_type)
but also response code can be not something good - handle them both.
- Emit all signals and make Qt' btfiletransfer really working now.
- Protect a service discovery against the early stop (can be a result of emit serviceDiscovered).
- After a file transfer finished (either success or a failure) - disconnect (if connected)
OBEX session - to make it possible to send more files.
- Implement OBEXPutError + isFinished/isRunning and signals on error.
- Add proper 'abort' and 'start' slots. Also emit finished on errors.
- If we do not have a file, but just an input stream, generate
a _really_ random and unique name, not 'XXXXX' template.
Change-Id: Ib6fb35d8e0eb07d71ccd2d7b565bba226bef119c
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement QBluetoothServer using IOBluetooth framework.
- Add empty (for now) implementation + modify .pro file.
- Add a 'socket listener'. Actually, there are no sockets,
no 'listen' but I still have to emulate this to make a server work.
- Implement (to some degree) QBluetoothServer::listen member functions:
on OS X QBluetoothServer::listen(address, port) does not really create
a listening socket, it just checks that this port is not busy yet
(IOBluetooth can either listen on a port you provide, or can
listen on any port, but it can not select some port and listen on it.
Only after service registered (with 'invalid' port first) - we have a real
channelID or PSM.
- Server port - either a "fake" port assigned by QBluetoothServer::listen,
or a real port as registered by IOBluetooth.
- Update a dependency.
- Implement nextPendingConnection.
- Implement fake server ports (something similar to Android version), but
on OS X these fake ports can later be replaced with real ports.
- Service info updates PSM/ChannelID with a real port and also starts a listener.
- Unregister a server (dtor, close, etc.)
- Do not update a 'fake' port with a real one: it can happen, that a real port
is already taken by some 'fake' port and this will break the whole idea of
fake ports. Let them be always fake, the real is required only when starting
a 'listener'.
- With 'fake' server ports '0' is not valid anymore (use serverPort() instead).
Change-Id: I44537a35891c6806e58ec874a18bd938d4b41c53
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement QBluetoothSocket using IOBluetooth framework on OS X
(will implement Qt's API as close as possible with a given Apple's API).
Update 0: add (empty for now) delegate classes (L2CAP/RFCOMM).
Update 1: add service discovery (called doDeviceDiscovery though).
Update 2: implement the public class' logic (QBluetoothSocket, connectToService).
Update 3: more public logic implemented (since it's easy :) )
Update 4: L2CAP delegate - initial logic.
Update 5: connectToService - L2CAP "socket".
Update 6: fix pivate header files.
Update 7: fix dependency after the previous patch was merged.
Update 8: writeData - initial version for L2CAP.
Update 9: since RFCOM/L2CAP delegates have the same interface,
no need in duplicating the same class - add a "generic"
ChannelDelegate instead.
Update 10: more RFCOMM logic.
Update 11: function to build a service description from
QBluetoothServiceInfo (to be registered on SDP server).
Update 12: QBluetoothSocket::close/abort.
Update 13: Create a dictioinary out of QBluetoothServiceInfo to register a service.
Update 14: Add service registration.
Update 15: Convert attributes (sequences and 'scalars') from QBluetoothServiceInfor
into NSDictionary.
Update 16: Update QBluetoothServiceInfo with a real PSM/ChannelID
after a service was registered.
Update 17: Move a private class (bluetooth socket) into the separate private
header file (to make it visible for bluetooth_server_osx)
Update 18: Add an interface to create a bluetooth socket (private class)
from a channel, reported by a notification (found by a listening
server).
Update 19: Fix an invalid assert - any state (Inactive/ServiceDiscovery/DeviceDiscovery)
is possible, not only Inactive.
Implement the missing 'readData' and 'writeData' for RFCOMM.
Set SDP query as non-active after query finished.
Temporary (!) workaround - can not invokeMethod on a private socket (d_ptr).
Update 20: When creating a socket wrapper from an incoming notification/channel, set:
socket type + channel's delegate.
Change-Id: Idd6d5478597206ed759f49e282baed948d105ddf
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|