summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/qlowenergycontroller_bluez.cpp
diff options
context:
space:
mode:
authorAlex Blasche <alexander.blasche@theqtcompany.com>2015-12-03 08:08:56 +0100
committerAlex Blasche <alexander.blasche@theqtcompany.com>2015-12-03 08:09:06 +0100
commitb0a0b2572a5060c268f96a77716e7ea4e3065da4 (patch)
treed1718acf15c19987984a787d0cd541825f32e26e /src/bluetooth/qlowenergycontroller_bluez.cpp
parentcd7165c29cab5543acd30c1a1f1279495700b2bb (diff)
parent4cafd5cac8e920c6decbb974bf548e9c8f935d24 (diff)
Merge remote-tracking branch 'gerrit/dev' into neard
Diffstat (limited to 'src/bluetooth/qlowenergycontroller_bluez.cpp')
-rw-r--r--src/bluetooth/qlowenergycontroller_bluez.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/bluetooth/qlowenergycontroller_bluez.cpp b/src/bluetooth/qlowenergycontroller_bluez.cpp
index aa90cd1a..461be068 100644
--- a/src/bluetooth/qlowenergycontroller_bluez.cpp
+++ b/src/bluetooth/qlowenergycontroller_bluez.cpp
@@ -251,6 +251,7 @@ QLowEnergyControllerPrivate::QLowEnergyControllerPrivate()
advertiser(0),
serverSocketNotifier(0)
{
+ registerQLowEnergyControllerMetaType();
qRegisterMetaType<QList<QLowEnergyHandle> >();
hciManager = new HciManager(localAdapter, this);
@@ -403,7 +404,9 @@ void QLowEnergyControllerPrivate::connectToDevice()
}
// connect
- l2cpSocket->connectToService(remoteDevice, ATTRIBUTE_CHANNEL_ID);
+ // Unbuffered mode required to separate each GATT packet
+ l2cpSocket->connectToService(remoteDevice, ATTRIBUTE_CHANNEL_ID,
+ QIODevice::ReadWrite | QIODevice::Unbuffered);
}
void QLowEnergyControllerPrivate::l2cpConnected()
@@ -1878,9 +1881,9 @@ bool QLowEnergyControllerPrivate::increaseEncryptLevelfRequired(quint8 errorCode
return false;
switch (errorCode) {
- case ATT_ERROR_INSUF_AUTHORIZATION:
case ATT_ERROR_INSUF_ENCRYPTION:
case ATT_ERROR_INSUF_AUTHENTICATION:
+ case ATT_ERROR_INSUF_ENCR_KEY_SIZE:
if (!hciManager->isValid())
return false;
if (!hciManager->monitorEvent(HciManager::EncryptChangeEvent))