summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Session/Session.h')
-rw-r--r--Swiften/Session/Session.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/Swiften/Session/Session.h b/Swiften/Session/Session.h
index b35179c..2c5ec34 100644
--- a/Swiften/Session/Session.h
+++ b/Swiften/Session/Session.h
@@ -46,6 +46,14 @@ namespace Swift {
void finishSession();
void sendElement(boost::shared_ptr<Element>);
+ const JID& getLocalJID() const {
+ return localJID;
+ }
+
+ const JID& getRemoteJID() const {
+ return remoteJID;
+ }
+
boost::signal<void (boost::shared_ptr<Element>)> onElementReceived;
boost::signal<void ()> onSessionStarted;
boost::signal<void (const boost::optional<SessionError>&)> onSessionFinished;
@@ -53,6 +61,16 @@ namespace Swift {
boost::signal<void (const ByteArray&)> onDataRead;
protected:
+ void setRemoteJID(const JID& j) {
+ assert(!isInitialized());
+ remoteJID = j;
+ }
+
+ void setLocalJID(const JID& j) {
+ assert(!isInitialized());
+ localJID = j;
+ }
+
void finishSession(const SessionError&);
virtual void handleSessionStarted() {}
@@ -81,6 +99,8 @@ namespace Swift {
void handleDisconnected(const boost::optional<Connection::Error>& error);
private:
+ JID localJID;
+ JID remoteJID;
boost::shared_ptr<Connection> connection;
PayloadParserFactoryCollection* payloadParserFactories;
PayloadSerializerCollection* payloadSerializers;