diff options
author | Remko Tronçon <git@el-tramo.be> | 2009-07-14 17:27:32 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2009-07-14 17:27:32 (GMT) |
commit | ee3a46975986865fe5064f9d87a27277fc6c235a (patch) | |
tree | 51bae2ed1669ca881f761ca7547fbaf22432ae12 /Swiften/Client/Client.h | |
parent | c34f50d3371f47c88d2ee927a5d59af8e135304c (diff) | |
download | swift-contrib-ee3a46975986865fe5064f9d87a27277fc6c235a.zip swift-contrib-ee3a46975986865fe5064f9d87a27277fc6c235a.tar.bz2 |
Consolidating IncomingConnection & Connection.
BoostConnections no longer have their own thread, but are managed from
a central Boost IO thread instead.
Diffstat (limited to 'Swiften/Client/Client.h')
-rw-r--r-- | Swiften/Client/Client.h | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/Swiften/Client/Client.h b/Swiften/Client/Client.h index 946bdbd..d876302 100644 --- a/Swiften/Client/Client.h +++ b/Swiften/Client/Client.h @@ -15,44 +15,46 @@ #include "Swiften/Queries/IQRouter.h" #include "Swiften/Parser/PayloadParsers/FullPayloadParserFactoryCollection.h" #include "Swiften/Serializer/PayloadSerializers/FullPayloadSerializerCollection.h" +#include "Swiften/Network/BoostIOServiceThread.h" namespace Swift { class TLSLayerFactory; class ConnectionFactory; class Session; - class Client : public StanzaChannel, public IQRouter { - public: - Client(const JID& jid, const String& password); - ~Client(); + class Client : public StanzaChannel, public IQRouter { + public: + Client(const JID& jid, const String& password); + ~Client(); void setCertificate(const String& certificate); - void connect(); + void connect(); void disconnect(); - virtual void sendIQ(boost::shared_ptr<IQ>); + virtual void sendIQ(boost::shared_ptr<IQ>); virtual void sendMessage(boost::shared_ptr<Message>); virtual void sendPresence(boost::shared_ptr<Presence>); - public: - boost::signal<void (ClientError)> onError; - boost::signal<void ()> onConnected; + public: + boost::signal<void (ClientError)> onError; + boost::signal<void ()> onConnected; boost::signal<void (const String&)> onDataRead; boost::signal<void (const String&)> onDataWritten; private: - void send(boost::shared_ptr<Stanza>); - virtual String getNewIQID(); + void send(boost::shared_ptr<Stanza>); + virtual String getNewIQID(); void handleElement(boost::shared_ptr<Element>); void handleSessionError(Session::SessionError error); void handleNeedCredentials(); void handleDataRead(const ByteArray&); void handleDataWritten(const ByteArray&); - private: + private: + BoostIOServiceThread boostIOServiceThread_; JID jid_; - String password_; + String password_; IDGenerator idGenerator_; ConnectionFactory* connectionFactory_; TLSLayerFactory* tlsLayerFactory_; @@ -60,7 +62,7 @@ namespace Swift { FullPayloadSerializerCollection payloadSerializers_; Session* session_; String certificate_; - }; + }; } #endif |