aboutsummaryrefslogtreecommitdiff
path: root/source/QXmppStream.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-06-04 11:46:18 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-06-04 11:46:18 +0000
commit2919748db0f771bef82f3975df0fd096e62f602a (patch)
tree058707f009e57c1af7806295c4de1d5d9933316a /source/QXmppStream.cpp
parent5c6987abb84d79be8aeb9b57017c2d439921d83f (diff)
downloadqxmpp-2919748db0f771bef82f3975df0fd096e62f602a.tar.gz
move roster management out of QXmppStream
Diffstat (limited to 'source/QXmppStream.cpp')
-rw-r--r--source/QXmppStream.cpp61
1 files changed, 3 insertions, 58 deletions
diff --git a/source/QXmppStream.cpp b/source/QXmppStream.cpp
index 67d46acf..1f99fdfb 100644
--- a/source/QXmppStream.cpp
+++ b/source/QXmppStream.cpp
@@ -94,26 +94,6 @@ QXmppStream::QXmppStream(QXmppClient* client)
SLOT(socketError(QAbstractSocket::SocketError)));
Q_ASSERT(check);
- check = QObject::connect(this,
- SIGNAL(disconnected()),
- &m_roster,
- SLOT(disconnected()));
- Q_ASSERT(check);
-
- check = QObject::connect(this,
- SIGNAL(presenceReceived(const QXmppPresence&)),
- &m_roster,
- SLOT(presenceReceived(const QXmppPresence&)));
- Q_ASSERT(check);
-
- check = QObject::connect(this, SIGNAL(rosterIqReceived(const QXmppRosterIq&)),
- &m_roster, SLOT(rosterIqReceived(const QXmppRosterIq&)));
- Q_ASSERT(check);
-
- check = QObject::connect(this, SIGNAL(rosterRequestIqReceived(const QXmppRosterIq&)),
- &m_roster, SLOT(rosterRequestIqReceived(const QXmppRosterIq&)));
- Q_ASSERT(check);
-
check = QObject::connect(this, SIGNAL(vCardIqReceived(const QXmppVCard&)),
&m_vCardManager, SLOT(vCardIqReceived(const QXmppVCard&)));
Q_ASSERT(check);
@@ -535,8 +515,6 @@ void QXmppStream::parser(const QByteArray& data)
// xmpp connection made
emit xmppConnected();
- sendRosterRequest();
-
QXmppBind session(type);
session.setId(id);
session.setTo(to);
@@ -560,7 +538,7 @@ void QXmppStream::parser(const QByteArray& data)
{
QXmppRosterIq rosterIq;
rosterIq.parse(nodeRecv);
- processRosterIq(rosterIq);
+ emit rosterIqReceived(rosterIq);
emit iqReceived(rosterIq);
}
// extensions
@@ -632,9 +610,8 @@ void QXmppStream::parser(const QByteArray& data)
// successful Non-SASL Authentication
debug("Authenticated (Non-SASL)");
+ // xmpp connection made
emit xmppConnected();
-
- sendRosterRequest();
}
else if(nodeRecv.firstChildElement("query").
namespaceURI() == ns_auth)
@@ -999,15 +976,6 @@ void QXmppStream::sendSubscriptionRequest(const QString& to)
sendPacket(presence);
}
-void QXmppStream::sendRosterRequest()
-{
- QXmppRosterIq roster;
- roster.setType(QXmppIq::Get);
- roster.setFrom(getConfiguration().jid());
- m_rosterReqId = roster.id();
- sendPacket(roster);
-}
-
void QXmppStream::disconnect()
{
m_authStep = 0;
@@ -1037,6 +1005,7 @@ bool QXmppStream::sendPacket(const QXmppPacket& packet)
return sendToServer(data);
}
+// FIXME : should this be moved to QXmppRoster?
void QXmppStream::processPresence(const QXmppPresence& presence)
{
switch(presence.type())
@@ -1087,30 +1056,6 @@ void QXmppStream::processBindIq(const QXmppBind& bind)
}
}
-void QXmppStream::processRosterIq(const QXmppRosterIq& rosterIq)
-{
- if(m_rosterReqId == rosterIq.id())
- emit rosterRequestIqReceived(rosterIq);
- else
- emit rosterIqReceived(rosterIq);
-
- switch(rosterIq.type())
- {
- case QXmppIq::Set:
- // when contact subscribes user...user sends 'subscribed' presence
- // then after recieving following iq user requests contact for subscription
-
- // check thet "from" is newly added in the roster...and remove this ask thing...and do this for all items
- if(rosterIq.items().at(0).subscriptionType() ==
- QXmppRosterIq::Item::From && rosterIq.items().at(0).
- subscriptionStatus().isEmpty())
- sendSubscriptionRequest(rosterIq.items().at(0).bareJid());
- break;
- default:
- break;
- }
-}
-
void QXmppStream::pingStart()
{
const int interval = getConfiguration().keepAliveInterval();