QXmpp Version: 1.10.0
|
The QXmppMamManager class makes it possible to access message archives as defined by XEP-0313: Message Archive Management. More...
#include <QXmppMamManager.h>
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< RetrieveResult > | 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()) |
Public Member Functions inherited from QXmppClientExtension | |
QXmppClientExtension () | |
virtual QStringList | discoveryFeatures () const |
virtual QList< QXmppDiscoveryIq::Identity > | discoveryIdentities () 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 | |
QXmppClient * | client () 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) |
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:
Contains RetrievedMessages or an QXmppError.
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.
to | Optional entity that should be queried. Leave this empty to query the local archive. |
node | Optional node that should be queried. This is used when querying a pubsub node. |
jid | Optional JID to filter the results. |
start | Optional start time to filter the results. |
end | Optional end time to filter the results. |
resultSetQuery | Optional Result Set Management query. This can be used to limit the number of results and to page through the archive. |
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.
to | Optional entity that should be queried. Leave this empty to query the local archive. |
node | Optional node that should be queried. This is used when querying a pubsub node. |
jid | Optional JID to filter the results. |
start | Optional start time to filter the results. |
end | Optional end time to filter the results. |
resultSetQuery | Optional Result Set Management query. This can be used to limit the number of results and to page through the archive. |