53QNearFieldTargetPrivate::writeNdefMessages(
const QList<QNdefMessage> &messages)
57 const QNearFieldTarget::RequestId id;
58 Q_EMIT error(QNearFieldTarget::UnsupportedError, id);
77bool QNearFieldTargetPrivate::waitForRequestCompleted(
const QNearFieldTarget::RequestId &id,
83 const QPointer<QNearFieldTargetPrivate> weakThis =
this;
89 if (m_decodedResponses.contains(id))
92 QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents, 1);
93 }
while (timer.elapsed() <= msecs);
95 reportError(QNearFieldTarget::TimeoutError, id);
105void QNearFieldTargetPrivate::setResponseForRequest(
const QNearFieldTarget::RequestId &id,
106 const QVariant &response,
107 bool emitRequestCompleted)
109 for (
auto i = m_decodedResponses.begin(), end = m_decodedResponses.end(); i != end; ) {
111 if (i.key().refCount() == 1)
112 i = m_decodedResponses.erase(i);
117 m_decodedResponses.insert(id, response);
119 if (emitRequestCompleted)
120 Q_EMIT requestCompleted(id);
123void QNearFieldTargetPrivate::reportError(QNearFieldTarget::Error error,
124 const QNearFieldTarget::RequestId &id)
126 setResponseForRequest(id, QVariant(),
false);
127 QMetaObject::invokeMethod(
this, [
this, error, id]() {
128 Q_EMIT
this->error(error, id);
129 }, Qt::QueuedConnection);