Exemplo n.º 1
0
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();
}
Exemplo n.º 2
0
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