diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-06-04 11:46:18 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-06-04 11:46:18 +0000 |
| commit | 2919748db0f771bef82f3975df0fd096e62f602a (patch) | |
| tree | 058707f009e57c1af7806295c4de1d5d9933316a /source/QXmppStream.cpp | |
| parent | 5c6987abb84d79be8aeb9b57017c2d439921d83f (diff) | |
| download | qxmpp-2919748db0f771bef82f3975df0fd096e62f602a.tar.gz | |
move roster management out of QXmppStream
Diffstat (limited to 'source/QXmppStream.cpp')
| -rw-r--r-- | source/QXmppStream.cpp | 61 |
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(); |
