QQmlNdefRecord Class
The QQmlNdefRecord class implements the NdefRecord type in QML. More...
Header: | #include <QQmlNdefRecord> |
qmake: | QT += nfc |
Instantiated By: | NdefRecord |
Public Types
enum | TypeNameFormat { Empty, NfcRtd, Mime, Uri, ExternalRtd, Unknown } |
Properties
- record : QNdefRecord
- type : QString
- typeNameFormat : TypeNameFormat
Public Functions
QQmlNdefRecord(QObject * parent = 0) | |
QQmlNdefRecord(const QNdefRecord & record, QObject * parent = 0) | |
QNdefRecord | record() const |
void | setRecord(const QNdefRecord & record) |
void | setType(const QString & newtype) |
void | setTypeNameFormat(TypeNameFormat newTypeNameFormat) |
QString | type() const |
TypeNameFormat | typeNameFormat() const |
Signals
void | recordChanged() |
void | typeChanged() |
void | typeNameFormatChanged() |
Macros
Q_DECLARE_NDEFRECORD( className, typeNameFormat, type) |
Detailed Description
The QQmlNdefRecord class implements the NdefRecord type in QML.
The QQmlNdefRecord class is the base class for all NdefRecord types in QML. To support a new NDEF record type in QML subclass this class and expose new properties, member functions and signals appropriate for the new record type. The following must be done to create a new NDEF record type in QML:
- The subclass must have a Q_OBJECT macro in its declaration.
- The subclass must have an invokable constructor that takes a QNdefRecord and a QObject pointer.
- The subclass must be declared as an NDEF record by expanding the Q_DECLARE_NDEFRECORD() macro in the implementation file of the subclass.
- The subclass must be registered with QML.
For example the declaration of such a class may look like the following.
class QQmlNdefFooRecord : public QQmlNdefRecord { Q_OBJECT Q_PROPERTY(int foo READ foo WRITE setFoo NOTIFY fooChanged) public: explicit QQmlNdefFooRecord(QObject *parent = 0); Q_INVOKABLE QQmlNdefFooRecord(const QNdefRecord &record, QObject *parent = 0); ~QQmlNdefFooRecord(); int foo() const; void setFoo(int value); signals: void fooChanged(); };
Within the implementation file the Q_DECLARE_NDEFRECORD() macro is expanded:
Q_DECLARE_NDEFRECORD(QQmlNdefFooRecord, QNdefRecord::ExternalRtd, "com.example:f")
Finially the application or plugin code calls qmlRegisterType():
qmlRegisterType<QQmlNdefFooRecord>(uri, 1, 0, "NdefFooRecord");
See also NdefRecord.
Member Type Documentation
enum QQmlNdefRecord::TypeNameFormat
This enum describes the type name format of an NDEF record. The values of this enum are according to QNdefRecord::TypeNameFormat
Constant | Value | Description |
---|---|---|
QQmlNdefRecord::Empty | QNdefRecord::Empty | An empty NDEF record, the record does not contain a payload. |
QQmlNdefRecord::NfcRtd | QNdefRecord::NfcRtd | The NDEF record type is defined by an NFC RTD Specification. |
QQmlNdefRecord::Mime | QNdefRecord::Mime | The NDEF record type follows the construct described in RFC 2046. |
QQmlNdefRecord::Uri | QNdefRecord::Uri | The NDEF record type follows the construct described in RFC 3986. |
QQmlNdefRecord::ExternalRtd | QNdefRecord::ExternalRtd | The NDEF record type follows the construct for external type names described the NFC RTD Specification. |
QQmlNdefRecord::Unknown | QNdefRecord::Unknown | The NDEF record type is unknown. |
Property Documentation
record : QNdefRecord
This property hold the NDEF record that this class represents.
Access functions:
QNdefRecord | record() const |
void | setRecord(const QNdefRecord & record) |
Notifier signal:
void | recordChanged() |
type : QString
This property hold the type of the NDEF record.
Access functions:
QString | type() const |
void | setType(const QString & newtype) |
Notifier signal:
void | typeChanged() |
typeNameFormat : TypeNameFormat
This property hold the TNF of the NDEF record.
Access functions:
TypeNameFormat | typeNameFormat() const |
void | setTypeNameFormat(TypeNameFormat newTypeNameFormat) |
Notifier signal:
void | typeNameFormatChanged() |
Member Function Documentation
QQmlNdefRecord::QQmlNdefRecord(QObject * parent = 0)
Constructs a new empty QQmlNdefRecord with parent.
QQmlNdefRecord::QQmlNdefRecord(const QNdefRecord & record, QObject * parent = 0)
Constructs a new QQmlNdefRecord representing record. The parent of the newly constructed object will be set to parent.