diff options
author | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2018-05-28 13:23:51 +0200 |
---|---|---|
committer | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2018-05-31 08:16:22 +0000 |
commit | 370f751edd826f483dec0115000370811ff1202a (patch) | |
tree | d8df6bbf70678cbfd664eec6ad1ece7d5e43e941 /src/bluetooth/osx/osxbt.pri | |
parent | aad6e26574ff069e080bf6461c0fb7d0fee9e403 (diff) |
Add G(rand)C(entral)D(ispatch) timeout handler
QtBluetooth is using its own dispatch queue in CoreBluetooth
back-end - this is where CoreBluetooth is executing all callbacks
we're providing in delegate classes. Some operations like service
discovery/characteristic or descriptor read(s) amd write(s) e.t.c.
may sometimes fail to finish - no value read, no error reported
(so delegate's method - callback - is never called). To deal with
this we introduce the class OSXBTGCDTimer and GCDTimerDelegate
protocol; GCDTimer periodically inserts blocks into the serial
LE queue and checks for timeouts upon their execution.
Task-number: QTBUG-68422
Change-Id: Ic17bf91d4223ad1ffc7b9808da36c902a4158227
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/bluetooth/osx/osxbt.pri')
-rw-r--r-- | src/bluetooth/osx/osxbt.pri | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/bluetooth/osx/osxbt.pri b/src/bluetooth/osx/osxbt.pri index 0f293107..b7ac0535 100644 --- a/src/bluetooth/osx/osxbt.pri +++ b/src/bluetooth/osx/osxbt.pri @@ -1,5 +1,8 @@ SOURCES += osx/uistrings.cpp osx/osxbtnotifier.cpp -PRIVATE_HEADERS += osx/uistrings_p.h +PRIVATE_HEADERS += osx/uistrings_p.h \ + osx/osxbtgcdtimer_p.h + +OBJECTIVE_SOURCES += osx/osxbtgcdtimer.mm #QMAKE_CXXFLAGS_WARN_ON += -Wno-nullability-completeness CONFIG(osx) { |