summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-06-26 03:00:50 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-06-26 03:00:50 +0200
commit1c76ffaf2cc77162ce8ee23d4604dc9925bef201 (patch)
tree562aa9858361c84a6758b857cffcc3c26b28020b /src
parent3e1c520f039484a9ecc5d6aacea5d761a183dc47 (diff)
parentc754e16ceddaf6826d2a74775df8409b3278d5b8 (diff)
Merge remote-tracking branch 'origin/5.11' into dev
Diffstat (limited to 'src')
-rw-r--r--src/bluetooth/osx/osxbtcentralmanager.mm8
-rw-r--r--src/bluetooth/osx/osxbtcentralmanager_p.h3
-rw-r--r--src/nfc/qndefnfctextrecord.cpp2
-rw-r--r--src/nfc/qndefnfcurirecord.cpp2
-rw-r--r--src/nfc/qnearfieldtarget_android.cpp10
-rw-r--r--src/nfc/qnearfieldtarget_neard_p.h10
6 files changed, 24 insertions, 11 deletions
diff --git a/src/bluetooth/osx/osxbtcentralmanager.mm b/src/bluetooth/osx/osxbtcentralmanager.mm
index b56dc0d5..9254bd98 100644
--- a/src/bluetooth/osx/osxbtcentralmanager.mm
+++ b/src/bluetooth/osx/osxbtcentralmanager.mm
@@ -229,6 +229,9 @@ QT_END_NAMESPACE
qCWarning(QT_BT_OSX, "Timeout while reading a descriptor");
[self peripheral:peripheral didUpdateValueForDescriptor:objectUnderWatch error:nsError];
break;
+ case OperationTimeout::characteristicWrite:
+ qCWarning(QT_BT_OSX, "Timeout while writing a characteristic with response");
+ [self peripheral:peripheral didWriteValueForCharacteristic:objectUnderWatch error:nsError];
default:;
}
}
@@ -751,6 +754,7 @@ QT_END_NAMESPACE
return [self performNextRequest];
requestPending = true;
+ [self watchAfter:characteristic timeout:OperationTimeout::characteristicWrite];
[peripheral writeValue:data.data() forCharacteristic:characteristic
type:CBCharacteristicWriteWithResponse];
} else {
@@ -1621,6 +1625,10 @@ QT_END_NAMESPACE
QT_BT_MAC_AUTORELEASEPOOL;
+ if (characteristic != objectUnderWatch)
+ return;
+
+ [self stopWatchdog];
requestPending = false;
diff --git a/src/bluetooth/osx/osxbtcentralmanager_p.h b/src/bluetooth/osx/osxbtcentralmanager_p.h
index c0f278b2..e172d874 100644
--- a/src/bluetooth/osx/osxbtcentralmanager_p.h
+++ b/src/bluetooth/osx/osxbtcentralmanager_p.h
@@ -95,7 +95,8 @@ enum class OperationTimeout
characteristicsDiscovery,
characteristicRead,
descriptorsDiscovery,
- descriptorRead
+ descriptorRead,
+ characteristicWrite
};
// In Qt we work with handles and UUIDs. Core Bluetooth
diff --git a/src/nfc/qndefnfctextrecord.cpp b/src/nfc/qndefnfctextrecord.cpp
index 78736cc0..95fb4c66 100644
--- a/src/nfc/qndefnfctextrecord.cpp
+++ b/src/nfc/qndefnfctextrecord.cpp
@@ -46,7 +46,7 @@ QT_BEGIN_NAMESPACE
/*!
\class QNdefNfcTextRecord
- \brief The QNdefNfcTextRecord class provides an NFC RTD-Text
+ \brief The QNdefNfcTextRecord class provides an NFC RTD-Text.
\ingroup connectivity-nfc
\inmodule QtNfc
diff --git a/src/nfc/qndefnfcurirecord.cpp b/src/nfc/qndefnfcurirecord.cpp
index 44b17adf..3438d9f2 100644
--- a/src/nfc/qndefnfcurirecord.cpp
+++ b/src/nfc/qndefnfcurirecord.cpp
@@ -48,7 +48,7 @@ QT_BEGIN_NAMESPACE
/*!
\class QNdefNfcUriRecord
- \brief The QNdefNfcUriRecord class provides an NFC RTD-URI
+ \brief The QNdefNfcUriRecord class provides an NFC RTD-URI.
\ingroup connectivity-nfc
\inmodule QtNfc
diff --git a/src/nfc/qnearfieldtarget_android.cpp b/src/nfc/qnearfieldtarget_android.cpp
index 26f3d429..30b2eeca 100644
--- a/src/nfc/qnearfieldtarget_android.cpp
+++ b/src/nfc/qnearfieldtarget_android.cpp
@@ -193,8 +193,9 @@ QNearFieldTarget::RequestId NearFieldTarget::readNdefMessages()
QNdefMessage qNdefMessage = QNdefMessage::fromByteArray(ndefMessageQBA);
QMetaObject::invokeMethod(this, "ndefMessageRead", Qt::QueuedConnection,
Q_ARG(QNdefMessage, qNdefMessage));
- QMetaObject::invokeMethod(this, "requestCompleted", Qt::QueuedConnection,
- Q_ARG(QNearFieldTarget::RequestId, requestId));
+ QMetaObject::invokeMethod(this, [this, requestId]() {
+ Q_EMIT this->requestCompleted(requestId);
+ }, Qt::QueuedConnection);
QMetaObject::invokeMethod(this, "ndefMessageRead", Qt::QueuedConnection,
Q_ARG(QNdefMessage, qNdefMessage),
Q_ARG(QNearFieldTarget::RequestId, requestId));
@@ -273,8 +274,9 @@ QNearFieldTarget::RequestId NearFieldTarget::sendCommand(const QByteArray &comma
// Closing connection
disconnect(); // IOException at this point does not matter anymore.
}
- QMetaObject::invokeMethod(this, "requestCompleted", Qt::QueuedConnection,
- Q_ARG(QNearFieldTarget::RequestId&, requestId));
+ QMetaObject::invokeMethod(this, [this, requestId]() {
+ Q_EMIT this->requestCompleted(requestId);
+ }, Qt::QueuedConnection);
return requestId;
}
diff --git a/src/nfc/qnearfieldtarget_neard_p.h b/src/nfc/qnearfieldtarget_neard_p.h
index 78dedeeb..053df141 100644
--- a/src/nfc/qnearfieldtarget_neard_p.h
+++ b/src/nfc/qnearfieldtarget_neard_p.h
@@ -355,8 +355,9 @@ private:
QMetaObject::invokeMethod(this, "ndefMessageRead", Qt::QueuedConnection,
Q_ARG(QNdefMessage, newNdefMessage));
// the request id in requestCompleted has to match the one created in readNdefMessages
- QMetaObject::invokeMethod(this, "requestCompleted", Qt::QueuedConnection,
- Q_ARG(QNearFieldTarget::RequestId, m_currentReadRequestId));
+ QMetaObject::invokeMethod(this, [this]() {
+ Q_EMIT this->requestCompleted(this->m_currentReadRequestId);
+ }, Qt::QueuedConnection);
} else {
QMetaObject::invokeMethod(this, "error", Qt::QueuedConnection,
Q_ARG(QNearFieldTarget::Error, QNearFieldTarget::UnknownError),
@@ -394,8 +395,9 @@ private:
}
QMetaObject::invokeMethod(this, "ndefMessagesWritten", Qt::QueuedConnection);
- QMetaObject::invokeMethod(this, "requestCompleted", Qt::QueuedConnection,
- Q_ARG(QNearFieldTarget::RequestId, m_currentWriteRequestId));
+ QMetaObject::invokeMethod(this, [this]() {
+ Q_EMIT this->requestCompleted(this->m_currentWriteRequestId);
+ }, Qt::QueuedConnection);
}
// invalidate current write request