aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-06-04 11:14:31 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-06-04 11:14:31 +0000
commit5c6987abb84d79be8aeb9b57017c2d439921d83f (patch)
tree07635e773bb07934b79914923bd16beb3604cf57
parent15cfbf59be4a2a8f3930a99ba9d1fadc7a3b10c4 (diff)
downloadqxmpp-5c6987abb84d79be8aeb9b57017c2d439921d83f.tar.gz
sending the initial presence is QXmppClient's responsability, not QXmppStream
-rw-r--r--source/QXmppClient.cpp11
-rw-r--r--source/QXmppClient.h3
-rw-r--r--source/QXmppStream.cpp8
-rw-r--r--source/QXmppStream.h1
4 files changed, 14 insertions, 9 deletions
diff --git a/source/QXmppClient.cpp b/source/QXmppClient.cpp
index fe6a80dc..13c89d21 100644
--- a/source/QXmppClient.cpp
+++ b/source/QXmppClient.cpp
@@ -65,6 +65,10 @@ QXmppClient::QXmppClient(QObject *parent)
Q_ASSERT(check);
check = connect(m_stream, SIGNAL(xmppConnected()), this,
+ SLOT(xmppConnected()));
+ Q_ASSERT(check);
+
+ check = connect(m_stream, SIGNAL(xmppConnected()), this,
SIGNAL(connected()));
Q_ASSERT(check);
@@ -548,3 +552,10 @@ void QXmppClient::setLogger(QXmppLogger *logger)
m_logger = logger;
}
+/// At connection establishment, send initial presence.
+
+void QXmppClient::xmppConnected()
+{
+ sendPacket(m_clientPresence);
+}
+
diff --git a/source/QXmppClient.h b/source/QXmppClient.h
index 40ceba62..6f52e4ca 100644
--- a/source/QXmppClient.h
+++ b/source/QXmppClient.h
@@ -198,6 +198,9 @@ public slots:
void setClientPresence(QXmppPresence::Type presenceType);
void setClientPresence(QXmppPresence::Status::Type statusType);
+private slots:
+ void xmppConnected();
+
private:
QXmppLogger* m_logger;
QXmppStream* m_stream; ///< Pointer to QXmppStream object a wrapper over
diff --git a/source/QXmppStream.cpp b/source/QXmppStream.cpp
index 77ba86c1..67d46acf 100644
--- a/source/QXmppStream.cpp
+++ b/source/QXmppStream.cpp
@@ -536,7 +536,6 @@ void QXmppStream::parser(const QByteArray& data)
emit xmppConnected();
sendRosterRequest();
- sendInitialPresence();
QXmppBind session(type);
session.setId(id);
@@ -636,7 +635,6 @@ void QXmppStream::parser(const QByteArray& data)
emit xmppConnected();
sendRosterRequest();
- sendInitialPresence();
}
else if(nodeRecv.firstChildElement("query").
namespaceURI() == ns_auth)
@@ -978,12 +976,6 @@ void QXmppStream::sendSessionIQ()
sendPacket(session);
}
-void QXmppStream::sendInitialPresence()
-{
- if(m_client)
- sendPacket(m_client->getClientPresence());
-}
-
void QXmppStream::acceptSubscriptionRequest(const QString& from, bool accept)
{
QXmppPresence presence;
diff --git a/source/QXmppStream.h b/source/QXmppStream.h
index 089c190f..c2aaede0 100644
--- a/source/QXmppStream.h
+++ b/source/QXmppStream.h
@@ -165,7 +165,6 @@ private:
void sendAuthDigestMD5ResponseStep2();
void sendBindIQ();
void sendSessionIQ();
- void sendInitialPresence();
void sendRosterRequest();
bool sendToServer(const QByteArray&);
bool hasStartStreamElement(const QByteArray&);