diff options
| author | Olivier Goffart <ogoffart@woboq.com> | 2012-07-06 18:50:46 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-16 16:15:27 +0200 |
| commit | 99bd8884bc87fbdbbe3a053f3afda9155b914c0f (patch) | |
| tree | d8aa44f27897dbb6057b3b87cf5bc3167890425e /src/client/QXmppArchiveManager.cpp | |
| parent | 1b445c310f9a3978c850c75f4070ba0ad7cb0523 (diff) | |
| download | qxmpp-99bd8884bc87fbdbbe3a053f3afda9155b914c0f.tar.gz | |
Ability to use more complex result set management while getting the archive list
Diffstat (limited to 'src/client/QXmppArchiveManager.cpp')
| -rw-r--r-- | src/client/QXmppArchiveManager.cpp | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/client/QXmppArchiveManager.cpp b/src/client/QXmppArchiveManager.cpp index 75d3fbc7..92b2de1f 100644 --- a/src/client/QXmppArchiveManager.cpp +++ b/src/client/QXmppArchiveManager.cpp @@ -44,7 +44,7 @@ bool QXmppArchiveManager::handleStanza(const QDomElement &element) { QXmppArchiveListIq archiveIq; archiveIq.parse(element); - emit archiveListReceived(archiveIq.chats()); + emit archiveListReceived(archiveIq.chats(), archiveIq.resultSetReply()); return true; } else if(QXmppArchivePrefIq::isArchivePrefIq(element)) @@ -64,18 +64,36 @@ bool QXmppArchiveManager::handleStanza(const QDomElement &element) /// \param jid Optional JID if you only want conversations with a specific JID. /// \param start Optional start time. /// \param end Optional end time. -/// \param max Optional maximum number of collections to list. +/// \param rsm Result Set Management query /// -void QXmppArchiveManager::listCollections(const QString &jid, const QDateTime &start, const QDateTime &end, int max) +void QXmppArchiveManager::listCollections(const QString& jid, const QDateTime& start, + const QDateTime& end, const QXmppResultSetQuery &rsm) { QXmppArchiveListIq packet; - packet.setMax(max); + packet.setResultSetQuery(rsm); packet.setWith(jid); packet.setStart(start); packet.setEnd(end); client()->sendPacket(packet); } +/// \overload +/// Retrieves the list of available collections. Once the results are +/// received, the archiveListReceived() signal will be emitted. +/// +/// \param jid Optional JID if you only want conversations with a specific JID. +/// \param start Optional start time. +/// \param end Optional end time. +/// \param max Optional maximum number of collections to list. +/// +void QXmppArchiveManager::listCollections(const QString &jid, const QDateTime &start, const QDateTime &end, int max) +{ + QXmppResultSetQuery rsm; + rsm.setMax(max); + listCollections(jid, start, end, rsm); +} + + /// Removes the specified collection(s). /// /// \param jid The JID of the collection |
