QXmpp Version: 1.10.3
Loading...
Searching...
No Matches
QXmppVCardManager Class Reference

The QXmppVCardManager class gets/sets XMPP vCards. It is an implementation of XEP-0054: vcard-temp. More...

#include <QXmppVCardManager.h>

Inheritance diagram for QXmppVCardManager:
QXmppClientExtension QXmppLoggable

Public Types

using Result = std::variant<QXmpp::Success, QXmppError>
 Success or QXmppError.
using VCardIqResult = std::variant<QXmppVCardIq, QXmppError>
 QXmppVCardIq or QXmppError.

Signals

void vCardReceived (const QXmppVCardIq &)
void clientVCardReceived ()
Signals inherited from QXmppLoggable
void setGauge (const QString &gauge, double value)
 Sets the given gauge to value.
void logMessage (QXmppLogger::MessageType type, const QString &msg)
 This signal is emitted to send logging messages.
void updateCounter (const QString &counter, qint64 amount=1)
 Updates the given counter by amount.

Public Member Functions

QXmppTask< VCardIqResultfetchVCard (const QString &bareJid)
QXmppTask< ResultsetVCard (const QXmppVCardIq &)
QString requestVCard (const QString &bareJid=QString())
const QXmppVCardIqclientVCard () const
 Returns the vCard of the connected client.
void setClientVCard (const QXmppVCardIq &)
 Sets the vCard of the connected client.
QString requestClientVCard ()
bool isClientVCardReceived () const
 Returns true if vCard of the connected client has been received else false.
Public Member Functions inherited from QXmppClientExtension
 QXmppClientExtension ()
virtual QStringList discoveryFeatures () const
virtual QList< QXmppDiscoveryIq::IdentitydiscoveryIdentities () const
virtual bool handleStanza (const QDomElement &stanza)
 You need to implement this method to process incoming XMPP stanzas.
virtual bool handleStanza (const QDomElement &stanza, const std::optional< QXmppE2eeMetadata > &e2eeMetadata)
 You need to implement this method to process incoming XMPP stanzas.
Public Member Functions inherited from QXmppLoggable
 QXmppLoggable (QObject *parent=nullptr)

Protected Member Functions

void onRegistered (QXmppClient *client) override
void onUnregistered (QXmppClient *client) override
Protected Member Functions inherited from QXmppClientExtension
QXmppClientclient () const
virtual void setClient (QXmppClient *client)
void injectIq (const QDomElement &element, const std::optional< QXmppE2eeMetadata > &e2eeMetadata)
bool injectMessage (QXmppMessage &&message)
Protected Member Functions inherited from QXmppLoggable
void debug (const QString &message)
void info (const QString &message)
void warning (const QString &message)
void logReceived (const QString &message)
void logSent (const QString &message)

Detailed Description

The QXmppVCardManager class gets/sets XMPP vCards. It is an implementation of XEP-0054: vcard-temp.

Note
Its object should not be created using its constructor. Instead QXmppClient::findExtension<QXmppVCardManager>() should be used to get the instantiated object of this class.

Getting vCards of entries in Roster:
It doesn't store vCards of the JIDs in the roster of connected user. Instead client has to request for a particular vCard using requestVCard(). And connect to the signal vCardReceived() to get the requested vCard.

Getting vCard of the connected client:
For getting the vCard of the connected user itself. Client can call requestClientVCard() and on the signal clientVCardReceived() it can get its vCard using clientVCard().

Setting vCard of the client:
Using setClientVCard() client can set its vCard.

Note
Client can't set/change vCards of roster entries.

Member Function Documentation

◆ clientVCardReceived

void QXmppVCardManager::clientVCardReceived ( )
signal

This signal is emitted when the client's vCard is received after calling the requestClientVCard() function.

◆ fetchVCard()

QXmppTask< QXmppVCardManager::VCardIqResult > QXmppVCardManager::fetchVCard ( const QString & bareJid)

Fetches the VCard of a bare JID.

Since
QXmpp 1.8

◆ onRegistered()

void QXmppVCardManager::onRegistered ( QXmppClient * client)
overrideprotectedvirtual

Called after the extension has been added to a QXmppClient.

Parameters
client

Reimplemented from QXmppClientExtension.

◆ onUnregistered()

void QXmppVCardManager::onUnregistered ( QXmppClient * client)
overrideprotectedvirtual

Called after the extension has been removed from a QXmppClient.

Parameters
client

Reimplemented from QXmppClientExtension.

◆ requestClientVCard()

QString QXmppVCardManager::requestClientVCard ( )

This function requests the server for vCard of the connected user itself. Once received the signal clientVCardReceived() is emitted. Received vCard can be get using clientVCard().

◆ requestVCard()

QString QXmppVCardManager::requestVCard ( const QString & jid = QString())

This function requests the server for vCard of the specified jid. Once received the signal vCardReceived() is emitted.

Parameters
jidJid of the specific entry in the roster

◆ setVCard()

QXmppTask< QXmppVCardManager::Result > QXmppVCardManager::setVCard ( const QXmppVCardIq & vCard)

Sets the VCard of the currently connected account.

Since
QXmpp 1.8

◆ vCardReceived

void QXmppVCardManager::vCardReceived ( const QXmppVCardIq & )
signal

This signal is emitted when the requested vCard is received after calling the requestVCard() function.


The documentation for this class was generated from the following files: