class QNdefRecord#

The QNdefRecord class provides an NFC NDEF record. More

Inherited by: QNdefNfcUriRecord, QNdefNfcTextRecord, QNdefNfcIconRecord, QNdefNfcSmartPosterRecord

Synopsis#

Methods#

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

Detailed Description#

Warning

This section contains snippets that were automatically translated from C++ to Python and may contain errors.

QNdefRecord and derived classes are used to parse the contents of NDEF messages and create new NDEF messages.

Use typeNameFormat() and setTypeNameFormat() to get and set the type name format of the NDEF record.

Use type() and setType() to get and set the type of the NDEF record.

Use id() and setId() to get and set the id of the NDEF record.

Use payload() and setPayload() to get and set the NDEF record payload. isEmpty() can be used to test if the payload is empty.

QNdefRecord is an implicitly shared class. This means you can efficiently convert between QNdefRecord and specialized record classes. The isRecordType() template function can be used to test if a conversion is possible. The following example shows how to test if a QNdefRecord is an NFC RTD Text record and extract the text information from it.

if record.isRecordType<QNdefNfcTextRecord>():
    textRecord = QNdefNfcTextRecord(record)
    print(textRecord.text())

Creating Specialized NDEF Record Classes#

Specialized NDEF record classes can be easily created with the Q_DECLARE_NDEF_RECORD() and Q_DECLARE_ISRECORDTYPE_FOR_NDEF_RECORD() macros. The following example shows the class declaration of the hypothetical example.com:f record type that encapsulates a single int property foo.

class ExampleComF(QNdefRecord):

# public
    Q_DECLARE_NDEF_RECORD(ExampleComF, QNdefRecord.ExternalRtd, "example.com:f",
                          QByteArray(sizeof(int), char(0)))
    foo = int()
    def setFoo(v):

Q_DECLARE_ISRECORDTYPE_FOR_NDEF_RECORD(ExampleComF, QNdefRecord.ExternalRtd, "example.com:f")

The developer only needs to provide implementations for the foo() and setFoo() functions that parse and set the contents of the NDEF record’s payload.

class TypeNameFormat#

This enum describes the type name format of an NDEF record.

Constant

Description

QNdefRecord.Empty

An empty NDEF record, the record does not contain a payload

QNdefRecord.NfcRtd

The NDEF record type is defined by an NFC RTD Specification

QNdefRecord.Mime

The NDEF record type follows the construct described in RFC 2046

QNdefRecord.Uri

The NDEF record type follows the construct described in RFC 3986

QNdefRecord.ExternalRtd

The NDEF record type follows the construct for external type names described the NFC RTD Specification

QNdefRecord.Unknown

The type of the record is unknown and should be treated similar to content with MIME type ‘application/octet-stream’ without further context

__init__(typeNameFormat, type)#
Parameters:
__init__(other)
Parameters:

otherQNdefRecord

Constructs a new NDEF record that is a copy of other.

__init__(other, typeNameFormat)
Parameters:
__init__(other, typeNameFormat, type)
Parameters:
__init__()

Constructs a new empty NDEF record.

clear()#

Clear the NDEF record.

An isEmpty() call returns true for a cleared record. The record type() is set to Empty .

id()#
Return type:

QByteArray

Returns the id of the NDEF record.

See also

setId()

isEmpty()#
Return type:

bool

Returns true if the NDEF record contains an empty payload; otherwise returns false.

This is equivalent to calling payload().isEmpty().

__ne__(other)#
Parameters:

otherQNdefRecord

Return type:

bool

Returns true if this NDEF record does not equal other; otherwise return false.

__eq__(other)#
Parameters:

otherQNdefRecord

Return type:

bool

Returns true if other and this NDEF record are the same. Otherwise returns false.

payload()#
Return type:

QByteArray

Returns the payload of the NDEF record.

See also

setPayload()

setId(id)#
Parameters:

idQByteArray

Sets the id of the NDEF record to id.

See also

id()

setPayload(payload)#
Parameters:

payloadQByteArray

Sets the payload of the NDEF record to payload.

See also

payload()

setType(type)#
Parameters:

typeQByteArray

Sets the type of the NDEF record to type.

See also

type()

setTypeNameFormat(typeNameFormat)#
Parameters:

typeNameFormatTypeNameFormat

Sets the type name format of the NDEF record to typeNameFormat.

See also

typeNameFormat()

type()#
Return type:

QByteArray

Returns the type of the NDEF record.

See also

setType()

typeNameFormat()#
Return type:

TypeNameFormat

Returns the type name format of the NDEF record.