void NfcHandler::tagDetected(QNearFieldTarget *tag) { qDebug() << "NFC tag detected:" << tag->type(); if(!m_tagList.contains(tag)) { connect(tag, SIGNAL(requestCompleted(QNearFieldTarget::RequestId)), this, SLOT(requestCompleted(QNearFieldTarget::RequestId))); connect(tag, SIGNAL(ndefMessageRead(QNdefMessage)), this, SLOT(ndefMessageRead(QNdefMessage))); connect(tag, SIGNAL(ndefMessagesWritten()), SLOT(ndefMessageWritten())); connect(tag, SIGNAL(error(QNearFieldTarget::Error,QNearFieldTarget::RequestId)), SLOT(error(QNearFieldTarget::Error,QNearFieldTarget::RequestId))); m_tagList.append(tag); } if(m_writeNextTag) { QNdefNfcUriRecord record; KodiHost *currentHost = KodiConnection::connectedHost(); record.setUri(QUrl("kodi://" + currentHost->address() + ':' + QString::number(currentHost->port()) + '/' + currentHost->hostname() + '/' + currentHost->hwAddr().remove(':'))); QNdefMessage message(record); qDebug() << "writing record:" << record.uri(); tag->writeNdefMessages(QList<QNdefMessage>() << message); m_writeNextTag = false; return; } tag->readNdefMessages(); }
tst_qnearfieldtagtype3::tst_qnearfieldtagtype3() { } void tst_qnearfieldtagtype3::initTestCase() { } void tst_qnearfieldtagtype3::testRawAccessAndNdefAccess(const QList<QNdefMessage> &messages) { QSignalSpy okSpy(tester.target, SIGNAL(requestCompleted(const QNearFieldTarget::RequestId&))); QSignalSpy errSpy(tester.target, SIGNAL(error(QNearFieldTarget::Error, const QNearFieldTarget::RequestId&))); QSignalSpy ndefMessageReadSpy(tester.target, SIGNAL(ndefMessageRead(QNdefMessage))); QSignalSpy ndefMessageWriteSpy(tester.target, SIGNAL(ndefMessagesWritten())); int okCount = 0; int errCount = 0; int ndefReadCount = 0; int ndefWriteCount = 0; // write ndef first tester.target->writeNdefMessages(messages); ++ndefWriteCount; QTRY_COMPARE(ndefMessageWriteSpy.count(), ndefWriteCount); QList<quint16> blockList; // first block blockList.append(0); // NDEF service