diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-17 11:33:24 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-17 11:33:24 +0200 |
| commit | a128ad2833e1444e430270b4f312b5a698053a33 (patch) | |
| tree | 6e66e533dac6e21b37749a153e5fc8b102980720 /src/base | |
| parent | b1b30b840cb0930017fcb48bbfa73e746b707001 (diff) | |
| download | qxmpp-a128ad2833e1444e430270b4f312b5a698053a33.tar.gz | |
add result-set management to QXmppArchiveIq
Diffstat (limited to 'src/base')
| -rw-r--r-- | src/base/QXmppArchiveIq.cpp | 20 | ||||
| -rw-r--r-- | src/base/QXmppArchiveIq.h | 10 |
2 files changed, 22 insertions, 8 deletions
diff --git a/src/base/QXmppArchiveIq.cpp b/src/base/QXmppArchiveIq.cpp index 7de572de..8151ff9c 100644 --- a/src/base/QXmppArchiveIq.cpp +++ b/src/base/QXmppArchiveIq.cpp @@ -111,7 +111,7 @@ void QXmppArchiveChat::parse(const QDomElement &element) } } -void QXmppArchiveChat::toXml(QXmlStreamWriter *writer) const +void QXmppArchiveChat::toXml(QXmlStreamWriter *writer, const QXmppResultSetReply &rsm) const { writer->writeStartElement("chat"); writer->writeAttribute("xmlns", ns_archive); @@ -133,6 +133,8 @@ void QXmppArchiveChat::toXml(QXmlStreamWriter *writer) const writer->writeEndElement(); prevTime = message.date(); } + if (!rsm.isNull()) + rsm.toXml(writer); writer->writeEndElement(); } @@ -234,6 +236,16 @@ void QXmppArchiveChatIq::setChat(const QXmppArchiveChat &chat) m_chat = chat; } +QXmppResultSetReply QXmppArchiveChatIq::resultSetReply() const +{ + return m_rsmReply; +} + +void QXmppArchiveChatIq::setResultSetReply(const QXmppResultSetReply& rsm) +{ + m_rsmReply = rsm; +} + bool QXmppArchiveChatIq::isArchiveChatIq(const QDomElement &element) { QDomElement chatElement = element.firstChildElement("chat"); @@ -243,12 +255,14 @@ bool QXmppArchiveChatIq::isArchiveChatIq(const QDomElement &element) void QXmppArchiveChatIq::parseElementFromChild(const QDomElement &element) { - m_chat.parse(element.firstChildElement("chat")); + QDomElement chatElement = element.firstChildElement("chat"); + m_chat.parse(chatElement); + m_rsmReply.parse(chatElement); } void QXmppArchiveChatIq::toXmlElementFromChild(QXmlStreamWriter *writer) const { - m_chat.toXml(writer); + m_chat.toXml(writer, m_rsmReply); } /// Constructs a QXmppArchiveListIq. diff --git a/src/base/QXmppArchiveIq.h b/src/base/QXmppArchiveIq.h index 9e22bf71..18dff7db 100644 --- a/src/base/QXmppArchiveIq.h +++ b/src/base/QXmppArchiveIq.h @@ -83,7 +83,7 @@ public: /// \cond void parse(const QDomElement &element); - void toXml(QXmlStreamWriter *writer) const; + void toXml(QXmlStreamWriter *writer, const QXmppResultSetReply &rsm = QXmppResultSetReply()) const; /// \endcond private: @@ -107,6 +107,9 @@ public: QXmppArchiveChat chat() const; void setChat(const QXmppArchiveChat &chat); + QXmppResultSetReply resultSetReply() const; + void setResultSetReply(const QXmppResultSetReply &rsm); + /// \cond static bool isArchiveChatIq(const QDomElement &element); /// \endcond @@ -119,6 +122,7 @@ protected: private: QXmppArchiveChat m_chat; + QXmppResultSetReply m_rsmReply; }; /// \brief Represents an archive list as defined by XEP-0136: Message Archiving. @@ -217,9 +221,6 @@ public: QXmppResultSetQuery resultSetQuery() const; void setResultSetQuery(const QXmppResultSetQuery &rsm); - QXmppResultSetReply resultSetReply() const; - void setResultSetReply(const QXmppResultSetReply &rsm); - /// \cond static bool isArchiveRetrieveIq(const QDomElement &element); /// \endcond @@ -234,7 +235,6 @@ private: QString m_with; QDateTime m_start; QXmppResultSetQuery m_rsmQuery; - QXmppResultSetReply m_rsmReply; }; /// \brief Represents an archive preference IQ as defined by XEP-0136: Message Archiving. |
