QXmppExtensibleDataFormBase Class

Header: #include <QXmppExtensibleDataFormBase>
Since: QXmpp 1.5
Inherits: QXmppDataFormBase
Inherited By:

QXmppContactAddresses, QXmppMucRoomConfig, QXmppMucRoomInfo, QXmppMucVoiceRequest, and QXmppPubSubSubAuthorization

Public Functions

void setUnknownFields(const QList<QXmppDataForm::Field> &unknownFields)
QList<QXmppDataForm::Field> unknownFields() const

Protected Functions

virtual bool parseField(const QXmppDataForm::Field &)

Detailed Description

This class is used for parsing a QXmppDataForm in an extensible way with inheritance and keeping additional unknown fields.

When inheriting you need to reimplement parseField(), serializeForm() and formType(). Also you should add a static parsing function (e.g. QXmppPubSubMetadata::fromDataForm()).

Member Function Documentation

[virtual protected] bool QXmppExtensibleDataFormBase::parseField(const QXmppDataForm::Field &)

Returns true if a field has been parsed.

Should be reimplemented to do actual parsing. All fields that can't be parsed end up as unknownFields().

void QXmppExtensibleDataFormBase::setUnknownFields(const QList<QXmppDataForm::Field> &unknownFields)

Sets all additional fields to be serialized.

unknownFields.

See also unknownFields().

QList<QXmppDataForm::Field> QXmppExtensibleDataFormBase::unknownFields() const

Returns all fields that couldn't be parsed.

See also setUnknownFields().