summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Don't register meta types during static init time5.5Alex Blasche2015-11-3015-36/+63
| | | | | | | | | | 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>
* Enforce unbuffered L2CAP socket for GATTAlex Blasche2015-11-271-1/+3
| | | | | | | | | | | | | | | | | | The GATT protocol does not enforce a length indicator on each GATT command. Usually this is not a problem because each request is followed by a response and therefore we can assume the entire packet content is a single response/request. However the GATT WRITE_COMMAND does not have a response. Multiple requests can be sent in quick follow-up. If buffering is utilized the consecutive commands may be merged and received as single data blob on the remote device. Since Write commands don't have a length indicator they cannot be distinguished and ultimately the write command will set the wrong value. Change-Id: I02f3cd3cfaedfeae6a40272f5d22d3d88c39aa55 Task-number: QTBUG-49650 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* CoreBluetooth - update for iOS 9.0Timur Pocheptsov2015-10-122-10/+31
| | | | | | | | | | | | | | | | New SDK removed deprecated properties/methods and we have a compilation error as a result. Use performSelector instead of direct calls to make sure: 1. it compiles 2. it calls an existing method. This is a backport of 371818e71839280abafae858e9bb53c4ee6b9e5e. Task-number:QTBUG-48518 Change-Id: I10a2d062f9e71229a1e218d9d167a4132b97b6ab Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Bluetooth device discovery agent (bluez): Prevent null pointer access.Christian Kandeler2015-10-081-0/+2
| | | | | | | | | We would potentially access a null adapter if stop() was called from a user slot connected to the deviceDiscovered() signal. Task-number: QTBUG-48481 Change-Id: I784120dcd7a9f71d9532fac9538ae98e1a329db2 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Add changelog for QtConnectivity 5.5.1 releasev5.5.1Alex Blasche2015-09-231-0/+43
| | | | | Change-Id: Icc2f8debeef8c58f008155c9ab5e68e1d5c33835 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* Tweak documentation terminologyAlex Blasche2015-09-041-1/+1
| | | | | | | | "frozen" might be interpreted as "no further changes in the future" Change-Id: If99cabb0c352460bb9904cc277da5a8de8984bbc Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* Improve QBluetoothDeviceInfo::deviceUuid() documentationAlex Blasche2015-09-031-0/+5
| | | | | | | | | | The device uuuid is only used on OS X and iOS. QBluetoothDeviceInfo::setDeviceUuid() already stated this limitation. The getter function was not. This patch fixes the oversight. Change-Id: I900b885c922b4248abe6f60fe38deea952605bf8 Task-number: QTBUG-48022 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* Add the GPLv3 license textThiago Macieira2015-08-132-0/+688
| | | | | | | LGPLv3 refers to it but does not include it in its body. Change-Id: Ib056b47dde3341ef9a52ffff13eed18cf3504738 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Parse all char descriptions in one goAlex Blasche2015-07-131-0/+1
| | | | | | | | | | | | ATT_OP_READ_BY_TYPE_REQUEST may return more than one char description per response packet. Due to a missing offset adjustment we only ever read the first description. Subsequent description were read by issuing a new READ_BY_TYPE request. This is very inefficient as at worst 3 times as many requests had to be send to the device. Change-Id: I83ca75a42425fe230926411f068112865c249061 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Add debug option to sdpscanner permitting plain text output of scan resultsAlex Blasche2015-07-131-4/+30
| | | | | Change-Id: I8b2c8931b3755306491deff51b57d1476fe87e3a Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* Do not cut 32bit value down to 16bitAlex Blasche2015-07-132-2/+2
| | | | | | | | | | | | | | handledata contains a 16bit char handle in the lower bits and may contains a 16bit descriptor handle in its upper 16 bits. When doing blob read requests for descriptors the upper 16 bit may be cut off and the descriptor read turns into a characteristic read. In turn this switches the internal state of the service discovery state machine causing an endless loop between descriptor and characteristic reads. Change-Id: Ia66f230e8fb018da51c3ce32db936d02a0b195b8 Task-number: QTBUG-47028 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* Cut high bits from QLECharacteristic::PropertyTypesAlex Blasche2015-07-131-1/+1
| | | | | | | | The enum value is 32 bit. the field we are reading is 8bit. Ensure that the higher bits are always set to 0. Change-Id: I317a877e23645c2785fd75e38494103f2272d2cd Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* Bump versionOswald Buddenhagen2015-06-291-1/+1
| | | | Change-Id: I0af1779e21bf162a122cd777aaacc31cf4e689d5
* Merge remote-tracking branch 'origin/5.5.0' into 5.5Liang Qi2015-06-262-0/+106
|\ | | | | | | Change-Id: I16d831a6ab1e22c03ce82f076f6759eb6531a8cd
| * Android: Fix crashing QBluetoothDeviceDiscoveryAgent on Androids <v18v5.5.0-rc1v5.5.0Alex Blasche2015-06-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new BTLE aware device discovery crashes due to a wrong internal activity state. The device discovery emits finished() signal when the SDP discovery finishes. It does not continue with BTLE scans oin Android releases 4.1.x or earlier. The signal emission causes the classes dtor to run. In turn the dtor calls stop() because the activity flag still indicates a running device scan which emits error(), which calls the classes dtor and the entire loop continues until a stack overflow is caused. Task-number: QTBUG-46588 Change-Id: If7e4af6773c6063cee11f59e0b0db477fea0c003 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
| * Add changelog for Qt 5.5.0 releaseAlex Blasche2015-06-081-0/+105
| | | | | | | | | | Change-Id: If87264deae64c863701633f2d6ff4bd6f3c4d8b0 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* | Port from Q_ENUMS to new macro Q_ENUMKonstantin Ritt2015-06-2323-44/+37
| | | | | | | | | | | | | | | | | | | | | | Remove Q_ENUMS in favor of the new Q_ENUM macro which provides registration as meta enum and a debug stream operator. Register some enums via Q_ENUM to improve debug output and types auto-registration. Change-Id: I31c9535a2de7da1783b4ec967612c02a57cb62ff Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* | Remove main documentation stating Blackberry being supportedAlex Blasche2015-06-172-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | In 5.5 we don't support it anymore although other parts of the documentation and the code base still have the details. The complete removal happens in Qt 5.6. This change prepares qtconnectivity for the removal of the "Qt for Blackberry" link in the general Qt docs. Change-Id: I8d51191caf34e4b4b57b0b072f543447213eeb23 Reviewed-by: Topi Reiniƶ <topi.reinio@digia.com>
* | Update qmltypes for QtNfcAlex Blasche2015-06-101-1/+2
| | | | | | | | | | Change-Id: I7b46391bb7cbd303eac0e85a9782cdd358e80775 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* | Update qmltypes for QtBluetoothAlex Blasche2015-06-101-1/+267
|/ | | | | Change-Id: I6120f7feba0c37b8ca81bf5c3546e4c0a1868d14 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* Test Q_DECLARE_OPERATORS_FOR_FLAGS operatorsAlex Blasche2015-05-285-1/+133
| | | | | | | | | This global operator was added to QBluetoothDeviceInfo and QLowEnergyService flags. Change-Id: Ic841cf8c08a2289a9c112dc6283c8891dcc8750e Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Provide missing Q_DECLARE_OPERATORS_FOR_FLAGSKonstantin Ritt2015-05-282-0/+5
| | | | | Change-Id: Ife85fc5a3e01752de07e91ba49216363ca5a5789 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Emit missing BluetoothService.detailsChanged signalAlex Blasche2015-05-271-0/+2
| | | | | | | | Device address and service name changes never triggered the signal despite the documentation and Q_PROPERTY definitions requiring it. Change-Id: I5d3d5f827b3e092bce3c2e7a4ce3cf687b251e6e Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* Provide missing comparison operatorsKonstantin Ritt2015-05-272-0/+26
| | | | | Change-Id: Ic940a8a61797c05f930b8063b67c1602292bb266 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Unit test for new QBluetoothHostInfo comparison operatorsAlex Blasche2015-05-271-0/+58
| | | | | Change-Id: I40ac86ccf94e8575220e6094dfec0d5537eba3a1 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Provide missing Q_DECLARE_METATYPEKonstantin Ritt2015-05-261-0/+2
| | | | | Change-Id: Id4ff2740cb89b0c20cd66a823a145855d28c2ec4 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Fix GCC warningKonstantin Ritt2015-05-261-0/+3
| | | | | | | | | The actual message was: > warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] Change-Id: I70f30da77a925e50032c5a82014af2e1aee511fb Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Don't mention non-existing `servicePort` property in the docsKonstantin Ritt2015-05-261-1/+0
| | | | | Change-Id: I5d0302f37199a21d281e0dd20fb785dfb60b84b3 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Merge remote-tracking branch 'gerrit/5.4' into 5.5Alex Blasche2015-05-191-0/+50
|\ | | | | | | Change-Id: Ic7d8afddc1a3a5b7bc26824fbc9ec888f3487c21
| * Merge remote-tracking branch 'origin/5.4.2' into 5.45.4Liang Qi2015-05-181-0/+50
| |\ | | | | | | | | | Change-Id: I6371dd69c9e15cb4ce4e52b0bc4fb710a2a0f57b
| | * Add QtConnectivity release notes for Qt 5.4.2v5.4.2Alex Blasche2015-04-221-0/+50
| | | | | | | | | | | | | | | Change-Id: I1733dc2b63c491b4facfa7683865723406eb5812 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* | | Remove some Tech preview remnants from Bluetooth documentationAlex Blasche2015-05-186-19/+2
| | | | | | | | | | | | | | | Change-Id: Ifcae07ef5e046f45848495f4d6af973cde713fdf Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* | | Reduce platform specific code linesAlex Blasche2015-05-127-87/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QLEController(QBluetoothAddress) ctor is not usable on iOS and OSX. On those platforms we have to use QLECOntroller(QBluetoothDeviceInfo). We mark the QBluetoothAddress based ctors of QLEController obsolete and remove most uses of them. This cleans up some ifdefs throughout the QtBluetooth code base. Change-Id: Ibe1e3fa271a29461e39fc3c0eeba7a910a250077 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* | | add remoteName() method to QLowEnergyControllerKevron Rees2015-05-125-0/+24
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-45435 Change-Id: I3ded6bf88d3980481e386073ce160d5d54520034 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* | | Bugfix: Bluetooth Le for Android need to close BluetoothGattPeter Rustler2015-05-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Android can only handle a defined count of simultaneously connections to bluetooth le devices. Every Android device have a different defined amount of possible simultaneously connections. If we do not close the connection and reconnect to the device or another device, the count of used connections get up. If we exceed the maximum connection count we can not connect to bluetooth le devices anymore. The only way to recover is to restart the application to reset the open connection count. This patch closes the connection after it has been disconnected. Change-Id: Id96a69ef07eb973216495a0ba8e46fd639338165 Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* | | Bugfix Andoid Bluetooth coreConfiguration data in discoveredDevicesPeter Rustler2015-05-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In current implementation of processDiscoveredDevices, if we receive the same device again with different coreConfiguration, the device will be just replaced. In Android there are 2 ways to scan for bluetooth devices. One is the scan for all bluetooth devices (including LE) and one for scanning just LE devices. Currently they are used both, which means we receive dual devices multiple times. Depending of the arrival in time of the QBluetoothDeviceInfo the coreConfiguration is different. In the List of discovered devices this lead to devices reported as LE only or classic only which is wrong. If the Application calls discoveredDevices() it will get a list with wrong coreConfiguration. This patch update the coreConfiguration of the QBluetoothDeviceInfo in list. Change-Id: I312544ca513503c5d6b31a1ca0cfbe530c0be911 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com> Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
* | | iOS: make QtBluetooth compileAlex Blasche2015-05-051-1/+1
| | | | | | | | | | | | | | | Change-Id: I414965f475a1b66aec30098804c71ef07b80a032 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* | | Merge branch '5.4' into 5.5Alex Blasche2015-05-040-0/+0
|\| | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I50d35abb0377dcdb645faa46d458c12934cf3514
| * | Bump versionOswald Buddenhagen2015-04-201-1/+1
| |/ | | | | | | Change-Id: I68ab6620664c53ecb15d04645162d03325a55afe
* | Add detection for running Bluez 4 daemonAlex Blasche2015-05-041-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | So far we tried to detect Bluez5. If we couldn't find it the code automatically assumed Bluez4. That's not always true though as the Bluez daemon (bluetoothd) may not actually be running. In such cases we print a warning from now on. Change-Id: I6bf803ab21cb8906bb786bc0549db8e1bb3a0a3b Task-number: QTBUG-45750 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* | Revert "qndefnfcsmartposterrecord.h: Fix build with headersclean check."v5.5.0-beta1Friedemann Kleint2015-04-211-4/+0
| | | | | | | | | | | | | | | | | | | | | | Follow-up commit will fix the headers clean test properly by adding the missing assignment operator to QNdefNfcSmartPosterRecord. This reverts commit 2d4f7fd1f8d29175c8dab88a6d6cc72162511e1a. Change-Id: I9bbe381a429f695e70770ba7de33ecd704d63a86 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add assignment operator to QNdefNfcSmartPosterRecord.Friedemann Kleint2015-04-212-0/+13
| | | | | | | | | | | | | | Required to pass the headersclean test. Change-Id: I0b274ee90c4172dde99dc2f8f60525466fb8d35f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Bluetooth LE - add readCharacteristic/readDescriptor (OS X/iOS)Timur Pocheptsov2015-04-205-66/+311
| | | | | | | | | | | | | | Add read descriptor/characteristic support for iOS and OS X. Change-Id: If7547f3756dc37930052c9cefd243d6063bcab1c Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* | qndefnfcsmartposterrecord.h: Fix build with headersclean check.Friedemann Kleint2015-04-201-0/+4
| | | | | | | | | | | | | | | | Skip check, required for qtbase/ 6668f5becfb8fcb6d10e42495c6ea5cdba2d15c5. Change-Id: Ie14c1f6201e60f71ce694323bf209422c7dba779 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* | Fix trailing commas in enumsAlex Blasche2015-04-204-6/+5
| | | | | | | | | | | | | | This was caused by the new headersclean enforcing warnings as errors Change-Id: Idd595fc4cf78411a80ff3dbb46477d5130a04c3e Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
* | Android: Avoid code duplication and don't break readWriteQueueAlex Blasche2015-04-151-82/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | handleFor(Characteristic|Descriptor)() find a handle for a given char and desc. We should reuse it inside the read notifier for chars and descs. In addition, under certain circumstances the read/write queue operation was finished although the queue was not empty yet. This happened when the last read operation failed with a certain type of error. Now we always finish with a call to performNextIO(). Change-Id: Ifdb66c0b03d25ae19db7c49bcbe70eeec2665b6e Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* | Misc fixes based on code review commentsAlex Blasche2015-04-151-3/+3
| | | | | | | | | | | | | | - doc fixes Change-Id: I4a5f413672d30c53be0cfcb022953e8ba3da6a83 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* | Make the QLEService unit test more error tolerantAlex Blasche2015-04-151-10/+11
| | | | | | | | | | | | | | | | | | The service discovery sometimes takes longer than 10s on Adroid and there is really no point in testing the value of the System ID characteristic. This value is different for every device. Change-Id: Ib418e852e8a41db7483c5b47d2d0dc61f28b05b2 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* | Android: Fix read/write error reports when failure during initial callAlex Blasche2015-04-152-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | The BluetoothGatt.[read|write][Characteristic|Descriptor]() functions may immediately return under certain circumstances such as writing a read-only characteristic. So far, this "synchronous" form of error reporting was not handled. Any read error during the initial service dioscovery and its related cache population continues to surpress any read errors. Change-Id: I4987f67f4a0d2afe58cd144a577a19e0f0d43b33 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* | Android: Implement error reporting for char & desc readingAlex Blasche2015-04-156-17/+80
| | | | | | | | | | | | Change-Id: I5652075b4fde4d4927e86f5394baf176f263104f Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>