summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/qbluetoothlocaldevice_p.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/dev' into wip/winOliver Wolff2019-08-071-5/+31
|\ | | | | | | Change-Id: I83175151c0eef1a11d2f21648cc04c86e46777c1
| * winrt: Add QBluetoothLocalDevice::pairingStatusOliver Wolff2019-06-181-0/+17
| | | | | | | | | | | | Task-number: QTBUG-62294 Change-Id: I61ee7dc30996c8e12c0fa75f7c85931a61c12554 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * Create qbluetoothlocaldevice_winrtOliver Wolff2019-06-181-5/+14
| | | | | | | | | | | | | | In preparation for the followup patches. Change-Id: I9b1f6c181adb847f6aafdaf60fcef7139a12b638 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Merge remote-tracking branch 'gerrit/dev' into win32Alex Blasche2018-11-221-34/+19
|\| | | | | | | Change-Id: Ie99a67b63f8259227f42f5b464c6bbc16e79313b
| * qbluetoothlocaldevice_p.cpp: Make sure d_ptr is initializedOliver Wolff2018-11-151-22/+7
| | | | | | | | | | | | | | | | | | | | | | | | Backends that still use qbluetoothlocaldevce_p.cpp (namely ios and winrt) overload QBluetoothLocalDevicePrivate::isValid. While it does not make a difference for ios (as false is returned if no d_ptr is initialized) local device will be seen as invalid on winrt if there is no d_ptr. Fixes: QTBUG-67090 Change-Id: I82dfa4563be0ed4800f0a8dd2a9ccfc3fe313e3b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * Minor code cleanup for QBluetoothLocalDevice implementation on AndroidAlex Blasche2018-09-261-2/+2
| | | | | | | | | | Change-Id: I22da03879c23f6b6842cb832cea0cfee6e016445 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * Properly handle pin code pairing on AndroidAlex Blasche2018-09-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | Most likely this paring variant was forgotten when Android support for QBluetoothLocalDevice was implemented. This variant is rather uncommon and Android's default pairing handler are likely to automatically handle such requests too. Fixes: QTBUG-70295 Change-Id: I618242da415574245e5a213a6e34f190c685c8e9 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * Code cleanup: Use nullptr wherever possibleAlex Blasche2018-08-241-9/+9
| | | | | | | | | | Change-Id: I7dd2d055c8d667f049d7cb2c371619137bf76030 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Merge remote-tracking branch 'gerrit/dev' into winAlex Blasche2017-10-171-1/+1
|\| | | | | | | Change-Id: I28ee9f95cc0fb85a36b5bd7b2ad87e0179446995
| * Rename qbluetoothglobal.h to qtbluetoothglobal.hOliver Wolff2017-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | ... and deprecate the former. By doing so we get the header file in line with other modules - see qtnetworkglobal.h for example. The include is not used in the examples so it is removed there. Change-Id: Ie6267738d4a45e45a0350d458a40654d8a952f4a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Merge remote-tracking branch 'gerrit/5.9' into wip/winAlex Blasche2017-05-121-16/+46
|\| | | | | | | Change-Id: Ia247c260a9fa27df79d18e5397eba5918d626684
| * Replace custom QT_BLUEZ_BLUETOOTH against the related feature defineAlex Blasche2017-04-061-2/+2
| | | | | | | | | | Change-Id: I4fbb948841a610640acaf87364e2157e31782836 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| * Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-101-0/+1
| |\ | | | | | | | | | Change-Id: I26c44498f63bcb2628c186e4f1a7f563460b0327
| | * Match connected device changes based on local device instanceAlex Blasche2017-02-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A new device connection is only ever for one particular device. Prior to this patch all local device instances (for different adapters) assumed the new connection request would be theirs. Task-number: QTBUG-57417 Change-Id: I0e7ced15cb83df4321284a297ac42b8786f9314b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | winrt: Minor adjustments to QBluetoothLocalDeviceOliver Wolff2017-01-191-0/+24
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | The WinRT API does not provide functionality to obtain the state of the devices host mode. In order to make the examples (for example btscanner) work in winrt, the hostMode defaults to HostConnectable and the local device is always valid on this platform. Additionally the API only enables us to discover paired devices, so every device that is found, has to be in "Paired" state. Change-Id: I32359d0defdb9f8e1cc1a629d32da1214a669aff Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * Updated license headersAntti Kokko2016-01-201-14/+20
| | | | | | | | | | | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I856c13e2a6d4d12c46e1286b0ca1c092ee4608f8 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Merge remote-tracking branch 'gerrit/dev' into wipAlex Blasche2015-12-031-0/+2
|\| | | | | | | Change-Id: I6acdeda9ec2a69d237e49c8ee53fde4e8696d19e
| * Merge remote-tracking branch 'gerrit/5.5' into 5.6Alex Blasche2015-12-011-0/+2
| |\ | | | | | | | | | Change-Id: I4404df69bfdac335e9c1eb63e4ada3ba89b48b6c
| | * Don't register meta types during static init time5.5Alex Blasche2015-11-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QMetaType register my not be up and running by the time we attempt these meta type registration. Change-Id: I1a857a936a24b4b00a49574fac311c08c09b3d5a Task-number: QTBUG-49455 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* | | Windows: Use QT_WIN_BLUETOOTH macro where it is possibleDenis Shienkov2015-11-171-1/+1
| | | | | | | | | | | | | | | | | | Change-Id: I77811a65b530c8994b622d4d18718c50ec629684 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* | | Windows: Simplify code related to enumerating of a local radiosDenis Shienkov2015-10-131-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is the first stage to cleaning of the 'windows' directory. A shared code related to enumerating of a local adapters are moved to the QBluetoothLocalDevicePrivate class. Change-Id: I208b79c29cd1f906b6fed627d25c7b1310718581 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* | | Merge branch 'dev' into winAlex Blasche2015-09-241-40/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/bluetooth/qbluetooth.cpp src/bluetooth/qbluetoothdevicediscoveryagent_p.h src/bluetooth/qbluetoothlocaldevice_p.h Change-Id: I20fa8968db6c6461014899698c17aa86cd969189
| * | Remove QNX/BlackBerry implementation for QtBluetoothAlex Blasche2015-06-171-40/+1
| |/ | | | | | | | | | | | | | | | | [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>
* | Merge branch 'dev' into wip/winAlex Blasche2015-02-261-7/+7
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/bluetooth/qbluetooth.cpp src/bluetooth/qbluetoothdevicediscoveryagent.h src/bluetooth/qbluetoothdevicediscoveryagent_p.h src/bluetooth/qbluetoothlocaldevice_p.h Change-Id: I29d64bd02580a8d0e547b0d7e7b7cf14832c5034
| * Update copyright headersJani Heikkinen2015-02-161-7/+7
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I3822a6484e8f7a420330de1cb1aeb0c3d1cf41b7 Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
* | Refactor of code for "classic" part on WindowsDenis Shienkov2014-12-011-13/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous code is based on the assumption where we can use each of local radio separatelly to discovery of remote devices. Windows API allows to use a handle of separately local bluetooth adapter to operate with its power, to start/stop detection of remote devices through it and so on. But in this API there is no opportunity to enumerate services and attributes of the given remote device via the concrete local adapter. Therefore now to discovery of remote devices are used all local bluetooth adapters in system. Also, the power and the host modes management now are belongs to all local adapters at once. Tested on Windows 8 with the USB CSR8510 A10 adapter Change-Id: I949b112158a575f5b563a78163c1e3990c952ada Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* | Merge branch 'dev' into wip/winAlex Blasche2014-11-131-1/+1
|\| | | | | | | | | | | | | | | Conflicts: src/bluetooth/bluetooth.pro src/bluetooth/qbluetoothlocaldevice_p.h Change-Id: Ic50580a3828e6c1f7c71fc79e1247df73cc1ecb7
| * Port QBluetoothLocalDevice and QBluetoothDeviceDiscoveryAgent to OS X.Timur Pocheptsov2014-09-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QBluetoothLocalDevice and QBluetoothDeviceDiscoveryAgent for OS X - Bluetooth Classic (the implementation based on IOBluetooth). + a very simple non-gui test (requires QApplication to work though). Update 0: style issues reported by Qt-Bot + fix a test. Update 1: QBluetoothLocalDevice - display confirmation Update 2: Device discovery agent - follow the expected logic and apply suggested fixes. Update 3: started/finished delegate methods seems to be synchronous and immediately follow start/stop calls on an inquiry. Update 4: remove unused function and redundant error message. Update 5: the first attempt to fix pairingStatus/requestPairing on a local device. Update 6: on OS X it's impossible (with a given public API) to request 'Unpaired'. I was only able to find some quite terrible hacks with private APIs or even worse - playing with SystemConfiguration frameworks and changing System Preferencies programmatically (requires authorization and looks like a total hack, since it has nothing to do with Bluetooth framework). Update 7: A very limited support for deviceConnected and connectedDevices. Update 8: Fix an invalid invokeMethod's argument. Update 9: Subject changed. Update 10: fixes in a documentation. Update 11: asserts in a coding convetion/style. Update 12: "fix" asserts + emit errors if a start/stop failed. Update 13: deviceDisconnected implemented. Update 14: use not only paired && connected devices (QBluetoothLocalDevice::connectedDevices), but also devices discovered by the connection monitor. Update 15: remove a test, not required (there are 'auto' tests). Update 16: fix private headers - they MUST have _p suffix :( Update 17: tests are known to fail (at the moment) - IOBluetooth requires adjustment (QApplication instead of QCoreApplication, lack of ability to power on/off a device (not possible on Mac) + other things). Change-Id: Iea1c8a98f1fd719f4560ec8920d00cc07eaa8146 Reviewed-by: Alex Blasche <alexander.blasche@digia.com> Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* | Merge branch '5.4' into wip/winAlex Blasche2014-09-081-18/+21
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/bluetooth/qbluetooth.cpp src/bluetooth/qbluetoothdevicediscoveryagent.h src/bluetooth/qbluetoothdevicediscoveryagent_p.h src/bluetooth/qbluetoothlocaldevice_p.h Change-Id: I87958a39605af9c2d45bbc63dc61771c5fa1cc76
| * Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-08-281-0/+11
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/bluetooth/qbluetoothdevicediscoveryagent_p.cpp Change-Id: Ie8bf1903f9c7c1ccd5b05a3f97049ae0882b88b8
| | * Add missing private headers warningSamuel Gaist2014-08-181-0/+11
| | | | | | | | | | | | | | | Change-Id: I0f079a9b1b45bd2d2e946e06d7688f299a9c3fc3 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
| * | Update license headers and add new licensesJani Heikkinen2014-08-241-19/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: I7a8b8b787fcae9a178794364efdefe1021d10b1b Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* | | Share the native private code of QBluetoothLocalDeviceDenis Shienkov2014-07-231-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It makes sense to share the private code for QBluetoothLocalDevice with other classes. For this purpose the private class QBluetoothLocalDevicePrivate inherits from the new QBluetoothLocalDevicePrivateData class. Now QBluetoothLocalDevicePrivateData can be used by QBluetoothServiceDiscoveryAgentPrivate too. It reduces code duplication then searching for the handle of a local device with a certain address. Change-Id: I0bea137b231553364af9658d7d2a409fef4f40bb Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* | | Implement the initialization of QBluetoothLocalDeviceDenis Shienkov2014-07-231-1/+28
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The instance of the local device is initialized via its bluetooth address. * If the constructor is passed an empty address, the class will be initialized using properties of first found local Bluetooth device in the system. * If the constructor is passed the specific address, it will enumerated all local Bluetooth devices and compares the Bluetooth address of each device. In case none of the addresses match, QBluetoothLocalDevice::isValid() returns false. Change-Id: Ib88df0403aa5d227ec6b75a4afcbf2f8675f05a8 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* | Merge branch '5.3' into devAlex Blasche2014-06-271-0/+3
|\| | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/bluetooth/qbluetoothlocaldevice_bluez.cpp src/bluetooth/qbluetoothlocaldevice_p.h src/bluetooth/qbluetoothservicediscoveryagent_bluez.cpp Change-Id: Ifb0c01eb8bffbffcd2416ea8d7bf1d36eb1c70f2
| * Bluez4: Ensure QBluetoothLocalDevice becomes invalid if adapter disappearsAlex Blasche2014-05-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The DBus object disappears when the dongle is removed. Once a QBluetoothLocalDevice instance is invalid it remains invalid. The patch further ensures that an invalid instance does not initiate pairing activitiy. Last but not least this patch fixes a memory leak in case a DBus error occurs during the adapter initialization. Task-number: QTBUG-38399 Change-Id: I2e13e393060c77fab5f79d5451dd6fe9a2a6e3bb Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
* | Utilize Qt global discovery mode session in QBluetootLocalDevice.Alex Blasche2014-05-231-1/+0
| | | | | | | | | | | | | | | | | | | | QtBluezDiscoveryManager manges the global discovery session for all Qt classes. This was introduced when implementing the device discovery. QBluetoothLocalDevice was not using this mechanism yet which could lead to discovery sessions being killed while still required. Change-Id: I4229cb2aa34df35cf4d0650c828c8cfa11040d4a Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* | Merge branch 'stable' into devAlex Blasche2014-05-081-2/+0
|\| | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/bluetooth/qbluetoothlocaldevice_bluez.cpp src/bluetooth/qbluetoothserver_p.h src/bluetooth/qbluetoothsocket_qnx.cpp Change-Id: I08792f10155f9b4e6af30066b70e24b48985ddd6
| * Bluez4: Fix incorrect list of connected devices in QBluetoothLocalDeviceAlex Blasche2014-04-221-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ConnectionChange signals were never emitted for remote devices which already existed at class instanciation time. At the same time this patch removes the delayed creation of the connectedDevices set. This simplifies the code and the caching did not save much effort. Task-number: QTBUG-38402 Change-Id: Ic871f919435c0d42ce2d79fd54f0da693816010a Reviewed-by: Oleg Shparber <trollixx@gmail.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* | Add Bluez5 support for QBluetoothLocalDeviceAlex Blasche2014-05-061-1/+29
| | | | | | | | | | | | | | | | | | The pairing signals are not yet implemented. For details see QTBUG-38401. Task-number: QTBUG-32085 Change-Id: I2b4e9a97b880801ebbffe367a8ab98320dd7ef2f Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* | Replace Q_SIGNALS/Q_SLOTS with signals/slots in private headersOleg Shparber2014-04-291-1/+1
| | | | | | | | | | | | | | This patch fixes private headers accordingly to coding guidelines Change-Id: Id428e162207a7ae70ccfbcb172d28cab79739818 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* | Fix coding style in QBluetoothOleg Shparber2014-04-231-10/+8
|/ | | | | | | | Affected: QBluetooth, QBluetoothAddress, QBluetoothDeviceDiscoveryAgent, QBluetoothDeviceInfo, QBluetoothHostInfo, QBluetoothLocalDevice Change-Id: Ia5af61f87eafecfba56b75fa61b81014cdd38960 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Port QtBluetooth to AndroidAlex Blasche2014-02-131-1/+47
| | | | | | | | | | | | | | | | | | | | | | This is a feature merge to dev targeting Qt 5.3. Known issues: -QTBUG-36754: QBluetoothServer::close() crashes -QTBUG-36763: QBluetothTransferManager port to Android not possible -QTBUG-36764: Improve QBluetoothLocalDevice::connectedDevices() -QTBUG-36810: Remove direct use of Android action strings The above issues and some other minor TODO's will be addressed until final release time. Task-number: QTBUG-33792 [ChangeLog][QtBluetooth][Android] QtBluetooth has been ported to Android. Change-Id: I31ba83e3b7d6aa68e7258b7e43235de7d1a6e68a Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Implemented QNX API for device "connected" statusNedim Hadzic2013-11-271-0/+3
| | | | | | | | | The feature allows to know whether QBluetoothLocalDevice is currently connected to any other device using connectedDevices() method for QNX platform. Change-Id: Id103f66321de52c2bc63e2bdbead85f11f9108a9 Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Added new API for device "connected" statusOleksandr Matasov2013-11-121-0/+15
| | | | | | | | | | The feature allows to know whether QBluetoothLocalDevice is currently connected to any other device using connectedDevices() method. Change-Id: I4d1a19ebb0b42efd1fc5d5f0f9e7816aa956fbf4 Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Remove QtBluetooth and QtNfc namespace.Alex Blasche2013-09-091-2/+2
| | | | | | | | This is based on namespace discussions on the Qt project dev mailing list. We continue to use the Qt namespace. Change-Id: I6119d06662f7682c11f42d759f3218be1f5a7d6c Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QNX: Change name of platform define to QT_QNX_BLUETOOTHFabian Bumberger2013-08-231-2/+2
| | | | | | | To be aligned with the bluez implementation Change-Id: I8d3fbd0c23298f984e2c99cbf4131cf8fc0a0a64 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* QNX: Emit pairing finished signalFabian Bumberger2013-08-061-1/+3
| | | | | | | | | | Pairing finished signal is emitted after pairing was requested. Also fixes a typo and a bug where the q Pointer was not saved. Task-number: QTBUG-32247 Change-Id: Ia2d32fdafd9510908f278edda927071199326f5d Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* BlueZ: Fix setting host modeFabian Bumberger2013-07-301-0/+1
| | | | | Change-Id: Id36f047acfaabf3fdbb4e6c07e88dac50878a641 Reviewed-by: Alex <alexander.blasche@digia.com>
* Fix broken QBluetoothLocalDevice::isValid() behaviorAlex Blasche2013-06-281-0/+9
| | | | | | | | | | | | | | | The Bluez and QNX backend always returned true. They should only return true if the local device is truly available or if the passed QBluetoothAddress is indeed one of the local bluetooth devices. The related unit test was extended to ensure common bahvior of invalid QBluetoothLocalDevice instance on all platforms. Task-number: QTBUG-32068 Change-Id: I40ab4db48dc82ba0d1c0bb5275e96a3ee812b01a Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Alex <alexander.blasche@digia.com>