diff options
Diffstat (limited to 'Swiften/Client')
| -rw-r--r-- | Swiften/Client/Client.cpp | 5 | ||||
| -rw-r--r-- | Swiften/Client/Client.h | 7 |
2 files changed, 7 insertions, 5 deletions
diff --git a/Swiften/Client/Client.cpp b/Swiften/Client/Client.cpp index 6614bf7..2a6d8a0 100644 --- a/Swiften/Client/Client.cpp +++ b/Swiften/Client/Client.cpp @@ -5,29 +5,32 @@ #include "Swiften/Network/MainBoostIOServiceThread.h" #include "Swiften/Network/BoostIOServiceThread.h" #include "Swiften/Client/ClientSession.h" #include "Swiften/StreamStack/PlatformTLSLayerFactory.h" #include "Swiften/Network/Connector.h" #include "Swiften/Network/BoostConnectionFactory.h" +#include "Swiften/Network/BoostTimerFactory.h" #include "Swiften/Network/DomainNameResolveException.h" #include "Swiften/TLS/PKCS12Certificate.h" #include "Swiften/Session/BasicSessionStream.h" namespace Swift { Client::Client(const JID& jid, const String& password) : IQRouter(this), jid_(jid), password_(password) { connectionFactory_ = new BoostConnectionFactory(&MainBoostIOServiceThread::getInstance().getIOService()); + timerFactory_ = new BoostTimerFactory(&MainBoostIOServiceThread::getInstance().getIOService()); tlsLayerFactory_ = new PlatformTLSLayerFactory(); } Client::~Client() { if (session_ || connection_) { std::cerr << "Warning: Client not disconnected properly" << std::endl; } delete tlsLayerFactory_; + delete timerFactory_; delete connectionFactory_; } bool Client::isAvailable() { return session_; } @@ -47,13 +50,13 @@ void Client::handleConnectorFinished(boost::shared_ptr<Connection> connection) { } else { assert(!connection_); connection_ = connection; assert(!sessionStream_); - sessionStream_ = boost::shared_ptr<BasicSessionStream>(new BasicSessionStream(connection_, &payloadParserFactories_, &payloadSerializers_, tlsLayerFactory_)); + sessionStream_ = boost::shared_ptr<BasicSessionStream>(new BasicSessionStream(connection_, &payloadParserFactories_, &payloadSerializers_, tlsLayerFactory_, timerFactory_)); if (!certificate_.isEmpty()) { sessionStream_->setTLSCertificate(PKCS12Certificate(certificate_, password_)); } sessionStream_->onDataRead.connect(boost::bind(&Client::handleDataRead, this, _1)); sessionStream_->onDataWritten.connect(boost::bind(&Client::handleDataWritten, this, _1)); sessionStream_->initialize(); diff --git a/Swiften/Client/Client.h b/Swiften/Client/Client.h index f09c916..444c136 100644 --- a/Swiften/Client/Client.h +++ b/Swiften/Client/Client.h @@ -1,8 +1,7 @@ -#ifndef SWIFTEN_Client_H -#define SWIFTEN_Client_H +#pragma once #include <boost/signals.hpp> #include <boost/shared_ptr.hpp> #include "Swiften/Network/PlatformDomainNameResolver.h" #include "Swiften/Base/Error.h" @@ -18,12 +17,13 @@ #include "Swiften/Parser/PayloadParsers/FullPayloadParserFactoryCollection.h" #include "Swiften/Serializer/PayloadSerializers/FullPayloadSerializerCollection.h" namespace Swift { class TLSLayerFactory; class ConnectionFactory; + class TimerFactory; class ClientSession; class BasicSessionStream; class Connector; class Client : public StanzaChannel, public IQRouter, public boost::bsignals::trackable { public: @@ -63,17 +63,16 @@ namespace Swift { PlatformDomainNameResolver resolver_; JID jid_; String password_; IDGenerator idGenerator_; boost::shared_ptr<Connector> connector_; ConnectionFactory* connectionFactory_; + TimerFactory* timerFactory_; TLSLayerFactory* tlsLayerFactory_; FullPayloadParserFactoryCollection payloadParserFactories_; FullPayloadSerializerCollection payloadSerializers_; boost::shared_ptr<Connection> connection_; boost::shared_ptr<BasicSessionStream> sessionStream_; boost::shared_ptr<ClientSession> session_; String certificate_; }; } - -#endif |
Swift