QXmpp Version: 1.10.0
Public Types | Signals | Public Member Functions | Protected Member Functions | List of all members
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:
Inheritance graph
[legend]
Collaboration diagram for QXmppVCardManager:
Collaboration graph
[legend]

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. More...
 
virtual bool handleStanza (const QDomElement &stanza, const std::optional< QXmppE2eeMetadata > &e2eeMetadata)
 You need to implement this method to process incoming XMPP stanzas. More...
 
- 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)
 
virtual void onRegistered (QXmppClient *client)
 
virtual void onUnregistered (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: