QXmpp Version: 1.10.0
Classes | Public Types | Signals | Public Member Functions | List of all members
QXmppMamManager Class Reference

The QXmppMamManager class makes it possible to access message archives as defined by XEP-0313: Message Archive Management. More...

#include <QXmppMamManager.h>

Inheritance diagram for QXmppMamManager:
Inheritance graph
[legend]
Collaboration diagram for QXmppMamManager:
Collaboration graph
[legend]

Classes

struct  RetrievedMessages
 Contains all retrieved messages and the result IQ that can be used for pagination. More...
 

Public Types

using RetrieveResult = std::variant< RetrievedMessages, QXmppError >
 

Signals

void archivedMessageReceived (const QString &queryId, const QXmppMessage &message)
 This signal is emitted when an archived message is received.
 
void resultsRecieved (const QString &queryId, const QXmppResultSetReply &resultSetReply, bool complete)
 This signal is emitted when all results for a request have been received.
 
- 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

QString retrieveArchivedMessages (const QString &to=QString(), const QString &node=QString(), const QString &jid=QString(), const QDateTime &start=QDateTime(), const QDateTime &end=QDateTime(), const QXmppResultSetQuery &resultSetQuery=QXmppResultSetQuery())
 
QXmppTask< RetrieveResultretrieveMessages (const QString &to=QString(), const QString &node=QString(), const QString &jid=QString(), const QDateTime &start=QDateTime(), const QDateTime &end=QDateTime(), const QXmppResultSetQuery &resultSetQuery=QXmppResultSetQuery())
 
- 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)
 

Additional Inherited Members

- 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 QXmppMamManager class makes it possible to access message archives as defined by XEP-0313: Message Archive Management.

To make use of this manager, you need to instantiate it and load it into the QXmppClient instance as follows:

client->addExtension(manager);
QXmppClient * client() const
Definition: QXmppClientExtension.cpp:57
bool addExtension(QXmppClientExtension *extension)
Registers a new extension with the client.
Definition: QXmppClient.cpp:376
The QXmppMamManager class makes it possible to access message archives as defined by XEP-0313: Messag...
Definition: QXmppMamManager.h:39
Since
QXmpp 1.0

Member Typedef Documentation

◆ RetrieveResult

Contains RetrievedMessages or an QXmppError.

Since
QXmpp 1.5

Member Function Documentation

◆ retrieveArchivedMessages()

QString QXmppMamManager::retrieveArchivedMessages ( const QString &  to = QString(),
const QString &  node = QString(),
const QString &  jid = QString(),
const QDateTime &  start = QDateTime(),
const QDateTime &  end = QDateTime(),
const QXmppResultSetQuery resultSetQuery = QXmppResultSetQuery() 
)

Retrieves archived messages. For each received message, the archiveMessageReceived() signal is emitted. Once all messages are received, the resultsRecieved() signal is emitted. It returns a result set that can be used to page through the results. The number of results may be limited by the server.

Warning
This API does not work with end-to-end encrypted messages. You can use the new QFuture-based API (retrieveMessages()) for that.
Parameters
toOptional entity that should be queried. Leave this empty to query the local archive.
nodeOptional node that should be queried. This is used when querying a pubsub node.
jidOptional JID to filter the results.
startOptional start time to filter the results.
endOptional end time to filter the results.
resultSetQueryOptional Result Set Management query. This can be used to limit the number of results and to page through the archive.
Returns
query id of the request. This can be used to associate the corresponding resultsRecieved signal.

◆ retrieveMessages()

QXmppTask< QXmppMamManager::RetrieveResult > QXmppMamManager::retrieveMessages ( const QString &  to = QString(),
const QString &  node = QString(),
const QString &  jid = QString(),
const QDateTime &  start = QDateTime(),
const QDateTime &  end = QDateTime(),
const QXmppResultSetQuery resultSetQuery = QXmppResultSetQuery() 
)

Retrieves archived messages and reports all messages at once via a QFuture.

This function tries to decrypt encrypted messages.

The number of results may be limited by the server.

Parameters
toOptional entity that should be queried. Leave this empty to query the local archive.
nodeOptional node that should be queried. This is used when querying a pubsub node.
jidOptional JID to filter the results.
startOptional start time to filter the results.
endOptional end time to filter the results.
resultSetQueryOptional Result Set Management query. This can be used to limit the number of results and to page through the archive.
Returns
result of the query
Since
QXmpp 1.5

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