diff options
author | Remko Tronçon <git@el-tramo.be> | 2011-10-07 18:09:30 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2011-10-07 18:09:30 (GMT) |
commit | 6b98253a4127c975bd59b6a49ddb203337a8c32b (patch) | |
tree | 546a24e1687f50e403215152d65e21971568f166 /Limber | |
parent | b2f58c4f3eb93e3a32062670df5eb6682aed273a (diff) | |
download | swift-contrib-6b98253a4127c975bd59b6a49ddb203337a8c32b.zip swift-contrib-6b98253a4127c975bd59b6a49ddb203337a8c32b.tar.bz2 |
Hoist XML parser factory creation out of Swiften.
Diffstat (limited to 'Limber')
-rw-r--r-- | Limber/Server/ServerFromClientSession.cpp | 3 | ||||
-rw-r--r-- | Limber/Server/ServerFromClientSession.h | 2 | ||||
-rw-r--r-- | Limber/main.cpp | 4 |
3 files changed, 7 insertions, 2 deletions
diff --git a/Limber/Server/ServerFromClientSession.cpp b/Limber/Server/ServerFromClientSession.cpp index 3a37c65..fd361b7 100644 --- a/Limber/Server/ServerFromClientSession.cpp +++ b/Limber/Server/ServerFromClientSession.cpp @@ -28,8 +28,9 @@ ServerFromClientSession::ServerFromClientSession( boost::shared_ptr<Connection> connection, PayloadParserFactoryCollection* payloadParserFactories, PayloadSerializerCollection* payloadSerializers, + XMLParserFactory* xmlParserFactory, UserRegistry* userRegistry) : - Session(connection, payloadParserFactories, payloadSerializers), + Session(connection, payloadParserFactories, payloadSerializers, xmlParserFactory), id_(id), userRegistry_(userRegistry), authenticated_(false), diff --git a/Limber/Server/ServerFromClientSession.h b/Limber/Server/ServerFromClientSession.h index 1a0e109..34ea40e 100644 --- a/Limber/Server/ServerFromClientSession.h +++ b/Limber/Server/ServerFromClientSession.h @@ -27,6 +27,7 @@ namespace Swift { class XMPPLayer; class ConnectionLayer; class Connection; + class XMLParserFactory; class ServerFromClientSession : public Session { public: @@ -35,6 +36,7 @@ namespace Swift { boost::shared_ptr<Connection> connection, PayloadParserFactoryCollection* payloadParserFactories, PayloadSerializerCollection* payloadSerializers, + XMLParserFactory* xmlParserFactory, UserRegistry* userRegistry); boost::signal<void ()> onSessionStarted; diff --git a/Limber/main.cpp b/Limber/main.cpp index e6bc45d..350b357 100644 --- a/Limber/main.cpp +++ b/Limber/main.cpp @@ -23,6 +23,7 @@ #include "Limber/Server/SimpleUserRegistry.h" #include "Limber/Server/ServerFromClientSession.h" #include "Swiften/Parser/PayloadParsers/FullPayloadParserFactoryCollection.h" +#include "Swiften/Parser/PlatformXMLParserFactory.h" #include "Swiften/Serializer/PayloadSerializers/FullPayloadSerializerCollection.h" using namespace Swift; @@ -37,7 +38,7 @@ class Server { private: void handleNewConnection(boost::shared_ptr<Connection> c) { - boost::shared_ptr<ServerFromClientSession> session(new ServerFromClientSession(idGenerator_.generateID(), c, &payloadParserFactories_, &payloadSerializers_, userRegistry_)); + boost::shared_ptr<ServerFromClientSession> session(new ServerFromClientSession(idGenerator_.generateID(), c, &payloadParserFactories_, &payloadSerializers_, &xmlParserFactory, userRegistry_)); serverFromClientSessions_.push_back(session); session->onElementReceived.connect(boost::bind(&Server::handleElementReceived, this, _1, session)); session->onSessionFinished.connect(boost::bind(&Server::handleSessionFinished, this, session)); @@ -81,6 +82,7 @@ class Server { private: IDGenerator idGenerator_; + PlatformXMLParserFactory xmlParserFactory; UserRegistry* userRegistry_; BoostIOServiceThread boostIOServiceThread_; boost::shared_ptr<BoostConnectionServer> serverFromClientConnectionServer_; |