QXmpp Version: 1.10.0
Public Types | Public Member Functions | List of all members
QXmppUserLocationManager Class Reference
Inheritance diagram for QXmppUserLocationManager:
Inheritance graph
[legend]
Collaboration diagram for QXmppUserLocationManager:
Collaboration graph
[legend]

Public Types

using Item = QXmppGeolocItem
 
using GetResult = std::variant< Item, QXmppError >
 
using PublishResult = std::variant< QString, QXmppError >
 

Public Member Functions

QStringList discoveryFeatures () const override
 
QXmppTask< GetResultrequest (const QString &jid)
 
QXmppTask< PublishResultpublish (const Item &)
 
Q_SIGNAL void itemReceived (const QString &jid, const QXmppGeolocItem &)
 
- 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)
 
- Public Member Functions inherited from QXmppPubSubEventHandler
virtual bool handlePubSubEvent (const QDomElement &element, const QString &pubSubService, const QString &nodeName)=0
 

Additional Inherited Members

- 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.
 
- 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 QXmppUserLocationManager implements XEP-0080: User Location. You'll receive location updates from all presence subscriptions. You can publish location information on the user's account (publish()) and request location information from specific accounts (request()).

The manager needs to be added to the client first and also requires the QXmppPubSubManager.

auto *pubSubManager = client.addNewExtension<QXmppPubSubManager>();
auto *locationManager = client.addNewExtension<QXmppUserLocationManager>();
QXmppClient * client() const
Definition: QXmppClientExtension.cpp:57
Main class for starting and managing connections to XMPP servers.
Definition: QXmppClient.h:62
T * addNewExtension(Args... args)
Definition: QXmppClient.h:117
The QXmppPubSubManager aims to provide publish-subscribe functionality as specified in XEP-0060: Publ...
Definition: QXmppPubSubManager.h:21
Definition: QXmppUserLocationManager.h:20
Since
QXmpp 1.5

Member Typedef Documentation

◆ GetResult

Contains the User Location information or an error.

◆ Item

Used pubsub item type.

◆ PublishResult

Contains the ID of the published item on success or a stanza error.

Member Function Documentation

◆ discoveryFeatures()

QStringList QXmppUserLocationManager::discoveryFeatures ( ) const
overridevirtual

Returns the discovery features to add to the client.

Reimplemented from QXmppClientExtension.

◆ itemReceived()

QXmppUserLocationManager::itemReceived ( const QString &  jid,
const QXmppGeolocItem  
)

Emitted whenever a XEP-0080: User Location items event arrives.

◆ publish()

auto QXmppUserLocationManager::publish ( const Item item)

Publishes User Location information on the user's account.

Parameters
itemThe User Location item to be published.

◆ request()

auto QXmppUserLocationManager::request ( const QString &  jid)

Request User Location information from an account.

Parameters
jidThe account JID to request.

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