summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/bluetooth.pro
Commit message (Collapse)AuthorAgeFilesLines
* winrt: Add bluetooth capabilities for msvc2017 as wellOliver Wolff2017-12-121-1/+1
| | | | | | | | | | 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>
* Fix build for -no-feature-concurrentStephan Binner2017-04-251-1/+2
| | | | | Change-Id: I57b18167dacb776a00d406e3faba6e780c764771 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Support for Q_OS_ANDROID_EMBEDDED and android-embedded buildsOtto Ryynänen2017-04-241-1/+1
| | | | | | | | | | | | 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>
* Replace custom QT_BLUEZ_BLUETOOTH against the related feature defineAlex Blasche2017-04-061-1/+0
| | | | | Change-Id: I4fbb948841a610640acaf87364e2157e31782836 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* The BlueZ feature implies that QtDBus is enabledAlex Blasche2017-04-051-1/+1
| | | | | | | | | | 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>
* WinRT: Remove dummy warningv5.9.0-alpha1Oliver Wolff2017-02-081-3/+0
| | | | | | | | 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>
* Remove WinPhone leftoversOliver Wolff2017-02-081-1/+1
| | | | | Change-Id: I0bc4da9d8ac17930d509a55c8c5c6494dad4558f Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* winrt: Add bluetooth server supportOliver Wolff2017-01-311-2/+2
| | | | | | Task-numer: QTBUG-37779 Change-Id: Ieb3ed5dfea7d60b3875cbe97bb26f8060bebcc17 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* winrt: Add bluetooth socket supportOliver Wolff2017-01-201-1/+1
| | | | | | | Task-number: QTBUG-37779 Change-Id: I7fb49a6870768da956793b0d0681c371da939df9 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* winrt: Add service discoveryOliver Wolff2017-01-201-1/+8
| | | | | | | | | | | | | | | 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>
* Convert qtconnectivity to the new configure systemLars Knoll2016-11-011-6/+3
| | | | | | | | 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>
* winrt: Added default bluetooth device capabilities for Windows 10Oliver Wolff2016-10-071-0/+6
| | | | | | | | 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>
* winrt: Enable BTLE support for Windows 10 (Mobile)Oliver Wolff2016-10-071-1/+1
| | | | | | | | | | | | | | | | | 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>
* Merge remote-tracking branch 'gerrit/dev' into btleAlex Blasche2016-07-131-7/+2
|\ | | | | | | | | | | | | Adds the minimum compile requirements for the new QBluetoothDeviceDiscoveryAgent API. Change-Id: Idfe07bee63de9d2849ab68eb455d0be470591795
| * Merge remote-tracking branch 'gerrit/5.7' into devAlex Blasche2016-07-121-1/+1
| |\ | | | | | | | | | Change-Id: Id86ae2d8b9f8ebd2a37e8e5fc279916bc92d9982
| | * Merge remote-tracking branch 'gerrit/5.6' into 5.7Alex Blasche2016-07-111-1/+1
| | |\ | | | | | | | | | | | | Change-Id: Ifbb36469f4a325b1b783cb3b018d7793680a9055
| | | * Make QtBluetooth compile in setups with BlueZ version w/o BTLE supportAlex Blasche2016-06-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-54055 Change-Id: Id2c42efe6c916b6f7437cb4c02fbb19430c9a44b Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com> Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
| | | * Bluetooth - remove duplicated class definition (iOS)Timur Pocheptsov2016-06-101-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | QtBluetooth - add LE device discovery timeout (OS X/iOS)Timur Pocheptsov2016-06-161-6/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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>
* | | winrt: BTLE: Device (dis-)connectionOliver Wolff2016-05-261-1/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-37779 Change-Id: I0f83e706a10d6c42543bd41aa012fde746f1a334 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* | | Detection of bluetooth (LE) devices has to happen in Xaml threadOliver Wolff2016-05-261-0/+1
| | | | | | | | | | | | | | | Change-Id: Ibfc1b272664b989e9836e02674691f24a53a5231 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* | | Fix missing printDummyWarning() symbol on WinRTAlex Blasche2016-05-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge branch 'dev' into btleAlex Blasche2016-05-131-14/+34
|\| | | | | | | | | | | Change-Id: I073f6c45696fe28b83335fb65cca6270c458851d
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-05-061-2/+4
| |\| | | | | | | | | | | | | | | | | | | Conflicts: examples/nfc/corkboard/corkboard.pro Change-Id: I5d1ea0a8e21a1b55dbf744c2f4b469bc51f05c7a
| | * Add a runtime warning when dummy QtBluetooth backend is runningAlex Blasche2016-05-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * Android: Ensure Bluetooth device discovery finds remote devicesAlex Blasche2016-04-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Remove the traces of the discontinued android-no-sdk platformEirik Aavitsland2016-04-291-1/+1
| | | | | | | | | | | | | | | Change-Id: I0358b76dd2b9fb2a6224c4b9b2082a748b2d5d7a Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-071-6/+6
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/bluetooth/bluetooth.pro Change-Id: Ied68947463e7eba418386a99903131d2cbdd458b
| | * don't over-expose private dependenciesOswald Buddenhagen2016-02-251-4/+4
| | | | | | | | | | | | | | | Change-Id: Ida2256e88c7ebe698f8b4734afc504dcef2da2d2 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| | * consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-02-251-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Bluetooth LE: Add support for Signed Write command in the central role.Christian Kandeler2016-02-171-2/+2
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-41175 Change-Id: I62d74236faf9161681306d952e409e23e0cea24d Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
| * | Bluetooth LE: Add support for Signed Write command.Christian Kandeler2016-02-031-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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>
| * | Bluetooth LE: Add connection update functionality.Christian Kandeler2016-01-181-0/+2
| | | | | | | | | | | | | | | | | | | | | Implemented for BlueZ only. Change-Id: I358a98bbc7499d5ce5437fb0d4672fde46c3b831 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
| * | Merge remote-tracking branch 'gerrit/dev' into neardAlex Blasche2016-01-051-2/+1
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/bluetooth/qlowenergycontroller.cpp Change-Id: I28b116deb3fa87169432eb2d94b70894359a9057
| | * | tvOS supportMike Krus2016-01-051-2/+1
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Merge remote-tracking branch 'gerrit/dev' into neardAlex Blasche2015-12-031-1/+2
| |\| | | | | | | | | | Change-Id: I1fc766d26aadb7cc01d33c4c8a2260411d7bb138
| | * Bluetooth LE scan - move to its own dispatch queue (iOS/OS X)Timur Pocheptsov2015-11-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Bluetooth: Add API to set up GATT services.Christian Kandeler2015-11-201-0/+6
| | | | | | | | | | | | | | | | | | | | | This is the next step in implementing LE peripheral support. Change-Id: I5e8cb186d556e7bfb9ae8a5e60e051ff7398b77d Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
| * | Bluetooth: Introduce API for LE advertising.Christian Kandeler2015-11-171-1/+7
| |/ | | | | | | | | | | | | And provide an implementation for BlueZ. Change-Id: I302aee7c43b77016d9e1e7a0d5bcbf00096abf76 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* / winphone: Added bluetooth device discoveryOliver Wolff2015-09-221-0/+11
|/ | | | | | Change-Id: I1086ffb05b7a632a9329822c150169a3482c6655 Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Remove QNX/BlackBerry implementation for QtBluetoothAlex Blasche2015-06-171-23/+0
| | | | | | | | | [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>
* Bluetooth - LE device discovery agent, timer bug (OS X)Timur Pocheptsov2015-03-241-0/+1
| | | | | | | | | | | | 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>
* QBluetoothDeviceDiscoveryAgent - cleanup (iOS)Timur Pocheptsov2014-12-091-2/+0
| | | | | | | | 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>
* QLowEnergyController/Service - enable for iOSTimur Pocheptsov2014-12-031-1/+9
| | | | | | | Enable Core Bluetooth-based version for iOS. Change-Id: Ica13fdc6c01744713483771e7c8ad6153c9fccdf Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* QLowEnergyController - version for OS X and iOSTimur Pocheptsov2014-11-121-2/+11
| | | | | | | | | | | 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>
* Bluetooth - device (LE) discovery for iOSTimur Pocheptsov2014-11-101-0/+19
| | | | | | | | | | | | 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>
* Android: Add ability to (dis)connect to BTLE devices on AndroidAlex Blasche2014-11-041-1/+1
| | | | | | | | 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>
* Port QBluetoothTransferReply to OS X.Timur Pocheptsov2014-10-161-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Port QBluetoothServer to OS X.Timur Pocheptsov2014-09-261-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Port QBluetoothSocket to OS X.Timur Pocheptsov2014-09-261-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>