summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Session/Session.cpp')
m---------Swiften0
-rw-r--r--Swiften/Session/Session.cpp82
2 files changed, 0 insertions, 82 deletions
diff --git a/Swiften b/Swiften
new file mode 160000
+Subproject 8213ba16d0043d2461f4b031c881d61dda5a38c
diff --git a/Swiften/Session/Session.cpp b/Swiften/Session/Session.cpp
deleted file mode 100644
index 64456db..0000000
--- a/Swiften/Session/Session.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-#include "Swiften/Session/Session.h"
-
-#include <boost/bind.hpp>
-
-#include "Swiften/StreamStack/XMPPLayer.h"
-#include "Swiften/StreamStack/StreamStack.h"
-
-namespace Swift {
-
-Session::Session(
- boost::shared_ptr<Connection> connection,
- PayloadParserFactoryCollection* payloadParserFactories,
- PayloadSerializerCollection* payloadSerializers) :
- connection(connection),
- payloadParserFactories(payloadParserFactories),
- payloadSerializers(payloadSerializers),
- streamStack(0),
- finishing(false) {
-}
-
-Session::~Session() {
- delete streamStack;
-}
-
-void Session::startSession() {
- initializeStreamStack();
- handleSessionStarted();
-}
-
-void Session::finishSession() {
- finishing = true;
- connection->disconnect();
- handleSessionFinished(boost::optional<SessionError>());
- finishing = false;
- onSessionFinished(boost::optional<SessionError>());
-}
-
-void Session::finishSession(const SessionError& error) {
- finishing = true;
- connection->disconnect();
- handleSessionFinished(boost::optional<SessionError>(error));
- finishing = false;
- onSessionFinished(boost::optional<SessionError>(error));
-}
-
-void Session::initializeStreamStack() {
- xmppLayer = boost::shared_ptr<XMPPLayer>(
- new XMPPLayer(payloadParserFactories, payloadSerializers));
- xmppLayer->onStreamStart.connect(
- boost::bind(&Session::handleStreamStart, shared_from_this(), _1));
- xmppLayer->onElement.connect(boost::bind(&Session::handleElement, shared_from_this(), _1));
- xmppLayer->onError.connect(
- boost::bind(&Session::finishSession, shared_from_this(), XMLError));
- xmppLayer->onDataRead.connect(boost::bind(boost::ref(onDataRead), _1));
- xmppLayer->onWriteData.connect(boost::bind(boost::ref(onDataWritten), _1));
- connection->onDisconnected.connect(
- boost::bind(&Session::handleDisconnected, shared_from_this(), _1));
- connectionLayer = boost::shared_ptr<ConnectionLayer>(new ConnectionLayer(connection));
- streamStack = new StreamStack(xmppLayer, connectionLayer);
-}
-
-void Session::sendElement(boost::shared_ptr<Element> stanza) {
- xmppLayer->writeElement(stanza);
-}
-
-void Session::handleDisconnected(const boost::optional<Connection::Error>& connectionError) {
- if (connectionError) {
- switch (*connectionError) {
- case Connection::ReadError:
- finishSession(ConnectionReadError);
- break;
- case Connection::WriteError:
- finishSession(ConnectionWriteError);
- break;
- }
- }
- else {
- finishSession();
- }
-}
-
-}