diff options
Diffstat (limited to 'Swiften/Client/ClientSession.cpp')
| -rw-r--r-- | Swiften/Client/ClientSession.cpp | 15 | 
1 files changed, 8 insertions, 7 deletions
diff --git a/Swiften/Client/ClientSession.cpp b/Swiften/Client/ClientSession.cpp index 4fcf1f8..802ac0a 100644 --- a/Swiften/Client/ClientSession.cpp +++ b/Swiften/Client/ClientSession.cpp @@ -31,10 +31,11 @@ ClientSession::ClientSession(  		PayloadParserFactoryCollection* payloadParserFactories,   		PayloadSerializerCollection* payloadSerializers) :   			Session(connection, payloadParserFactories, payloadSerializers), -			jid_(jid),   			tlsLayerFactory_(tlsLayerFactory),  			state_(Initial),   			needSessionStart_(false) { +	setLocalJID(jid); +	setRemoteJID(JID("", jid.getDomain()));  }  void ClientSession::handleSessionStarted() { @@ -45,7 +46,7 @@ void ClientSession::handleSessionStarted() {  void ClientSession::sendStreamHeader() {  	ProtocolHeader header; -	header.setTo(jid_.getDomain()); +	header.setTo(getRemoteJID());  	getXMPPLayer()->writeHeader(header);  } @@ -103,8 +104,8 @@ void ClientSession::handleElement(boost::shared_ptr<Element> element) {  			if (streamFeatures->hasResourceBind()) {  				state_ = BindingResource;  				boost::shared_ptr<ResourceBind> resourceBind(new ResourceBind()); -				if (!jid_.getResource().isEmpty()) { -					resourceBind->setResource(jid_.getResource()); +				if (!getLocalJID().getResource().isEmpty()) { +					resourceBind->setResource(getLocalJID().getResource());  				}  				getXMPPLayer()->writeElement(IQ::createRequest(IQ::Set, JID(), "session-bind", resourceBind));  			} @@ -151,8 +152,8 @@ void ClientSession::handleElement(boost::shared_ptr<Element> element) {  				finishSession(UnexpectedElementError);  			}  			else if (iq->getType() == IQ::Result) { -				jid_ = resourceBind->getJID(); -				if (!jid_.isValid()) { +				setLocalJID(resourceBind->getJID()); +				if (!getLocalJID().isValid()) {  					finishSession(ResourceBindError);  				}  				if (needSessionStart_) { @@ -216,7 +217,7 @@ bool ClientSession::checkState(State state) {  void ClientSession::sendCredentials(const String& password) {  	assert(WaitingForCredentials);  	state_ = Authenticating; -	getXMPPLayer()->writeElement(boost::shared_ptr<Element>(new AuthRequest("PLAIN", PLAINMessage(jid_.getNode(), password).getValue()))); +	getXMPPLayer()->writeElement(boost::shared_ptr<Element>(new AuthRequest("PLAIN", PLAINMessage(getLocalJID().getNode(), password).getValue())));  }  void ClientSession::handleTLSConnected() {  | 
 Swift