diff --git a/include/Swiften/Server/Server.cpp b/include/Swiften/Server/Server.cpp index 4323263e..312545b4 100644 --- a/include/Swiften/Server/Server.cpp +++ b/include/Swiften/Server/Server.cpp @@ -49,12 +49,14 @@ Server::Server( stanzaChannel_ = new ServerStanzaChannel(); iqRouter_ = new IQRouter(stanzaChannel_); tlsFactory = NULL; + parserFactory_ = new PlatformXMLParserFactory(); } Server::~Server() { stop(); delete iqRouter_; delete stanzaChannel_; + delete parserFactory_; } void Server::start() { @@ -101,7 +103,7 @@ void Server::handleNewClientConnection(boost::shared_ptr connection) boost::shared_ptr serverFromClientSession = boost::shared_ptr( new ServerFromClientSession(idGenerator.generateID(), connection, - getPayloadParserFactories(), getPayloadSerializers(), userRegistry_)); + getPayloadParserFactories(), getPayloadSerializers(), userRegistry_, parserFactory_)); //serverFromClientSession->setAllowSASLEXTERNAL(); serverFromClientSession->onSessionStarted.connect( diff --git a/include/Swiften/Server/Server.h b/include/Swiften/Server/Server.h index a3e664e1..9ae486aa 100644 --- a/include/Swiften/Server/Server.h +++ b/include/Swiften/Server/Server.h @@ -22,6 +22,7 @@ #include "Swiften/Parser/PayloadParsers/FullPayloadParserFactoryCollection.h" #include "Swiften/Serializer/PayloadSerializers/FullPayloadSerializerCollection.h" #include "Swiften/TLS/PKCS12Certificate.h" +#include namespace Swift { class ConnectionServer; @@ -84,5 +85,6 @@ namespace Swift { IQRouter *iqRouter_; TLSServerContextFactory *tlsFactory; PKCS12Certificate cert; + PlatformXMLParserFactory *parserFactory_; }; } diff --git a/include/Swiften/Server/ServerFromClientSession.cpp b/include/Swiften/Server/ServerFromClientSession.cpp index 3950ddd3..2ab70237 100644 --- a/include/Swiften/Server/ServerFromClientSession.cpp +++ b/include/Swiften/Server/ServerFromClientSession.cpp @@ -33,8 +33,9 @@ ServerFromClientSession::ServerFromClientSession( boost::shared_ptr connection, PayloadParserFactoryCollection* payloadParserFactories, PayloadSerializerCollection* payloadSerializers, - UserRegistry* userRegistry) : - Session(connection, payloadParserFactories, payloadSerializers), + UserRegistry* userRegistry, + XMLParserFactory* factory) : + Session(connection, payloadParserFactories, payloadSerializers, factory), id_(id), userRegistry_(userRegistry), authenticated_(false), diff --git a/include/Swiften/Server/ServerFromClientSession.h b/include/Swiften/Server/ServerFromClientSession.h index b22da265..77ed0f1b 100644 --- a/include/Swiften/Server/ServerFromClientSession.h +++ b/include/Swiften/Server/ServerFromClientSession.h @@ -38,7 +38,8 @@ namespace Swift { boost::shared_ptr connection, PayloadParserFactoryCollection* payloadParserFactories, PayloadSerializerCollection* payloadSerializers, - UserRegistry* userRegistry); + UserRegistry* userRegistry, + XMLParserFactory* factory); ~ServerFromClientSession(); boost::signal onSessionStarted;