diff options
Diffstat (limited to 'Swiften/Client')
-rw-r--r-- | Swiften/Client/Client.cpp | 6 | ||||
-rw-r--r-- | Swiften/Client/Client.h | 8 | ||||
-rw-r--r-- | Swiften/Client/ClientSession.h | 4 |
3 files changed, 12 insertions, 6 deletions
diff --git a/Swiften/Client/Client.cpp b/Swiften/Client/Client.cpp index fe9bc60..974e256 100644 --- a/Swiften/Client/Client.cpp +++ b/Swiften/Client/Client.cpp @@ -42,11 +42,6 @@ bool Client::isAvailable() { return session_ && session_->getState() == ClientSession::Initialized; } -/** FIXME: implement */ -JID Client::getBoundJID() { - return JID(); -} - void Client::connect() { connect(jid_.getDomain()); } @@ -256,6 +251,7 @@ void Client::handleStanzaAcked(boost::shared_ptr<Stanza> stanza) { } void Client::handleSessionInitialized() { + jid_ = session_->getLocalJID(); onConnected(); onAvailableChanged(true); } diff --git a/Swiften/Client/Client.h b/Swiften/Client/Client.h index ca729a7..e046b3c 100644 --- a/Swiften/Client/Client.h +++ b/Swiften/Client/Client.h @@ -55,7 +55,13 @@ namespace Swift { return iqRouter_; } - JID getBoundJID(); + /** + * Returns the JID of the client. + * After the session was initialized, this returns the bound JID. + */ + const JID& getJID() const { + return jid_; + } public: boost::signal<void (const ClientError&)> onError; diff --git a/Swiften/Client/ClientSession.h b/Swiften/Client/ClientSession.h index cd364fe..2af9cab 100644 --- a/Swiften/Client/ClientSession.h +++ b/Swiften/Client/ClientSession.h @@ -72,6 +72,10 @@ namespace Swift { return stanzaAckRequester_; } + const JID& getLocalJID() const { + return localJID; + } + void start(); void finish(); |