aboutsummaryrefslogtreecommitdiff
path: root/src/client/QXmppArchiveManager.cpp
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@woboq.com>2012-07-06 18:50:46 +0200
committerJeremy Lainé <jeremy.laine@m4x.org>2012-07-16 16:15:27 +0200
commit99bd8884bc87fbdbbe3a053f3afda9155b914c0f (patch)
treed8aa44f27897dbb6057b3b87cf5bc3167890425e /src/client/QXmppArchiveManager.cpp
parent1b445c310f9a3978c850c75f4070ba0ad7cb0523 (diff)
downloadqxmpp-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.cpp26
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