summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-11-20 21:14:01 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-11-20 21:25:03 (GMT)
commitc84fb752cc881dfca9727b69fcdb3230830b7cc4 (patch)
treeede286a20ccf8daf109f2d1b03c610d6d97f9b8a /Swiften/LinkLocal/IncomingLinkLocalSession.cpp
parent8149107ade43f9c9fff8fe134f1bce5b5e8b2234 (diff)
downloadswift-c84fb752cc881dfca9727b69fcdb3230830b7cc4.zip
swift-c84fb752cc881dfca9727b69fcdb3230830b7cc4.tar.bz2
Abstracting authenticators.
Diffstat (limited to 'Swiften/LinkLocal/IncomingLinkLocalSession.cpp')
-rw-r--r--Swiften/LinkLocal/IncomingLinkLocalSession.cpp1
1 files changed, 0 insertions, 1 deletions
diff --git a/Swiften/LinkLocal/IncomingLinkLocalSession.cpp b/Swiften/LinkLocal/IncomingLinkLocalSession.cpp
index 4c3a681..77910e6 100644
--- a/Swiften/LinkLocal/IncomingLinkLocalSession.cpp
+++ b/Swiften/LinkLocal/IncomingLinkLocalSession.cpp
@@ -1,60 +1,59 @@
#include "Swiften/LinkLocal/IncomingLinkLocalSession.h"
#include <boost/bind.hpp>
#include "Swiften/Elements/ProtocolHeader.h"
#include "Swiften/Network/Connection.h"
#include "Swiften/StreamStack/StreamStack.h"
#include "Swiften/StreamStack/ConnectionLayer.h"
#include "Swiften/StreamStack/XMPPLayer.h"
#include "Swiften/Elements/StreamFeatures.h"
#include "Swiften/Elements/IQ.h"
-#include "Swiften/SASL/PLAINMessage.h"
namespace Swift {
IncomingLinkLocalSession::IncomingLinkLocalSession(
const JID& localJID,
boost::shared_ptr<Connection> connection,
PayloadParserFactoryCollection* payloadParserFactories,
PayloadSerializerCollection* payloadSerializers) :
Session(connection, payloadParserFactories, payloadSerializers),
initialized(false) {
setLocalJID(localJID);
}
void IncomingLinkLocalSession::handleStreamStart(const ProtocolHeader& incomingHeader) {
setRemoteJID(JID(incomingHeader.getFrom()));
if (!getRemoteJID().isValid()) {
finishSession();
return;
}
ProtocolHeader header;
header.setFrom(getLocalJID());
getXMPPLayer()->writeHeader(header);
if (incomingHeader.getVersion() == "1.0") {
getXMPPLayer()->writeElement(boost::shared_ptr<StreamFeatures>(new StreamFeatures()));
}
else {
setInitialized();
}
}
void IncomingLinkLocalSession::handleElement(boost::shared_ptr<Element> element) {
boost::shared_ptr<Stanza> stanza = boost::dynamic_pointer_cast<Stanza>(element);
// If we get our first stanza before streamfeatures, our session is implicitly
// initialized
if (stanza && !isInitialized()) {
setInitialized();
}
onElementReceived(element);
}
void IncomingLinkLocalSession::setInitialized() {
initialized = true;
onSessionStarted();
}