QXmppDiscoInfo Class

Header: #include <QXmppDiscoveryIq.h>
Since: QXmpp 1.12

Public Functions

QXmppDiscoInfo(const QString &node, const QList<QXmppDiscoIdentity> &identities = {}, const QList<QString> &features = {}, const QList<QXmppDataForm> &dataForms = {})
QByteArray calculateEntityCapabilitiesHash() const
std::optional<FormType> dataForm() const
std::optional<QXmppDataForm> dataForm(QStringView formType) const
const QList<QXmppDataForm> &dataForms() const
const QList<QString> &features() const
const QList<QXmppDiscoIdentity> &identities() const
const QString &node() const
void setDataForms(const QList<QXmppDataForm> &newDataForms)
void setFeatures(const QList<QString> &newFeatures)
void setIdentities(const QList<QXmppDiscoIdentity> &newIdentities)
void setNode(const QString &newNode)
(since QXmpp 1.17) bool operator==(const QXmppDiscoInfo &) const

Detailed Description

Info query request or result as defined in XEP-0030: Service Discovery.

Member Function Documentation

[explicit] QXmppDiscoInfo::QXmppDiscoInfo(const QString &node, const QList<QXmppDiscoIdentity> &identities = {}, const QList<QString> &features = {}, const QList<QXmppDataForm> &dataForms = {})

Default constructor

QByteArray QXmppDiscoInfo::calculateEntityCapabilitiesHash() const

Calculates an XEP-0115: Entity Capabilities hash value of this service discovery data object.

The hash is generated from the XML this object is serialized to. Duplicate features are ignored. Returns an empty byte array if the information is ill-formed according to XEP-0115: Entity Capabilities, e.g. if it contains duplicate identities.

template <DataFormConvertible FormType> std::optional<FormType> QXmppDiscoInfo::dataForm() const

Looks for a form with the form type of FormType and parses it if found.

std::optional<QXmppDataForm> QXmppDiscoInfo::dataForm(QStringView formType) const

Looks for a data form with the given form type and returns it if found.

Data forms in service discovery info are defined in XEP-0128: Service Discovery Extensions.

const QList<QXmppDataForm> &QXmppDiscoInfo::dataForms() const

Returns additional data forms as specified in XEP-0128: Service Discovery Extensions.

See also setDataForms().

const QList<QString> &QXmppDiscoInfo::features() const

Returns the features supported by the entity.

See also setFeatures().

const QList<QXmppDiscoIdentity> &QXmppDiscoInfo::identities() const

Returns the identities of the entity.

See also setIdentities().

const QString &QXmppDiscoInfo::node() const

Returns the node of the query.

See also setNode().

void QXmppDiscoInfo::setDataForms(const QList<QXmppDataForm> &newDataForms)

Sets additional data forms as specified in XEP-0128: Service Discovery Extensions. Forms MUST have a FORM_TYPE and each FORM_TYPE MUST occur only once.

newDataForms.

See also dataForms().

void QXmppDiscoInfo::setFeatures(const QList<QString> &newFeatures)

Sets the features supported by the entity.

newFeatures.

See also features().

void QXmppDiscoInfo::setIdentities(const QList<QXmppDiscoIdentity> &newIdentities)

Sets the identities of the entity.

newIdentities.

See also identities().

void QXmppDiscoInfo::setNode(const QString &newNode)

Sets the node of the query.

newNode.

See also node().

[noexcept default, since QXmpp 1.17] bool QXmppDiscoInfo::operator==(const QXmppDiscoInfo &) const

Returns true if the two objects are equal (default comparison).

This function was introduced in QXmpp 1.17.