aboutsummaryrefslogtreecommitdiff
path: root/source/QXmppStream.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-04-15 08:04:38 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-04-15 08:04:38 +0000
commitc0e76a9646b63f8135b6a4c5774c353fc7842c83 (patch)
treedc0943c64dddebfbff629e603d56d12f41a54b91 /source/QXmppStream.cpp
parent9720d62c6d626fc8ef14e0fb1964ba8686e603b1 (diff)
downloadqxmpp-c0e76a9646b63f8135b6a4c5774c353fc7842c83.tar.gz
move QXmppRosterIq parsing out of QXmppStream
Diffstat (limited to 'source/QXmppStream.cpp')
-rw-r--r--source/QXmppStream.cpp35
1 files changed, 5 insertions, 30 deletions
diff --git a/source/QXmppStream.cpp b/source/QXmppStream.cpp
index f896f8ee..5f843f4c 100644
--- a/source/QXmppStream.cpp
+++ b/source/QXmppStream.cpp
@@ -553,36 +553,10 @@ void QXmppStream::parser(const QByteArray& data)
processBindIq(bind);
iqPacket = bind;
}
- else if(nodeRecv.firstChildElement("query").
- namespaceURI() == ns_roster)
+ else if(QXmppRosterIq::isRosterIq(nodeRecv))
{
- QDomElement itemElement = nodeRecv.
- firstChildElement("query").
- firstChildElement("item");
- QXmppRosterIq rosterIq(nodeRecv.attribute("type"));
- rosterIq.setId(id);
- rosterIq.setTo(to);
- rosterIq.setFrom(from);
- while(!itemElement.isNull())
- {
- QXmppRosterIq::Item item;
- item.setName(itemElement.attribute("name"));
- item.setBareJid(itemElement.attribute("jid"));
- item.setSubscriptionTypeFromStr(
- itemElement.attribute("subscription"));
- item.setSubscriptionStatus(
- itemElement.attribute("ask"));
-
- QDomElement groupElement = itemElement.firstChildElement("group");
- while(!groupElement.isNull())
- {
- item.addGroup(groupElement.text());
- groupElement = groupElement.nextSiblingElement("group");
- }
-
- rosterIq.addItem(item);
- itemElement = itemElement.nextSiblingElement();
- }
+ QXmppRosterIq rosterIq;
+ rosterIq.parse(nodeRecv);
processRosterIq(rosterIq);
iqPacket = rosterIq;
}
@@ -1029,7 +1003,8 @@ void QXmppStream::sendSubscriptionRequest(const QString& to)
void QXmppStream::sendRosterRequest()
{
- QXmppRosterIq roster(QXmppIq::Get);
+ QXmppRosterIq roster;
+ roster.setType(QXmppIq::Get);
roster.setFrom(getConfiguration().jid());
m_rosterReqId = roster.id();
sendPacket(roster);