diff options
author | Remko Tronçon <git@el-tramo.be> | 2009-07-18 21:06:17 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2009-07-18 21:48:54 (GMT) |
commit | 5d504472c63b7acaa7df99ff1097024cf463f1bd (patch) | |
tree | 999b651588f38ee09325dcda65b6e6396247de2f /Swiften/LinkLocal/OutgoingLinkLocalSession.h | |
parent | 4457bc810a326de8d7895b3f2ff36ade5f1ae1a0 (diff) | |
download | swift-contrib-5d504472c63b7acaa7df99ff1097024cf463f1bd.zip swift-contrib-5d504472c63b7acaa7df99ff1097024cf463f1bd.tar.bz2 |
Implement outgoing linklocal sessions.
Diffstat (limited to 'Swiften/LinkLocal/OutgoingLinkLocalSession.h')
-rw-r--r-- | Swiften/LinkLocal/OutgoingLinkLocalSession.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/Swiften/LinkLocal/OutgoingLinkLocalSession.h b/Swiften/LinkLocal/OutgoingLinkLocalSession.h index ae1e86b..abbec80 100644 --- a/Swiften/LinkLocal/OutgoingLinkLocalSession.h +++ b/Swiften/LinkLocal/OutgoingLinkLocalSession.h @@ -3,6 +3,7 @@ #include <boost/shared_ptr.hpp> #include <boost/signal.hpp> #include <boost/enable_shared_from_this.hpp> +#include <vector> #include "Swiften/LinkLocal/LinkLocalSession.h" #include "Swiften/JID/JID.h" @@ -16,12 +17,13 @@ namespace Swift { class PayloadSerializerCollection; class DNSSDService; - class OutgoingLinkLocalSession : public LinkLocalSession, public boost::enable_shared_from_this<OutgoingLinkLocalSession> { + class OutgoingLinkLocalSession : public LinkLocalSession { public: OutgoingLinkLocalSession( const JID& localJID, const JID& remoteJID, const String& hostname, + int port, boost::shared_ptr<DNSSDService> resolver, PayloadParserFactoryCollection* payloadParserFactories, PayloadSerializerCollection* payloadSerializers, @@ -33,16 +35,21 @@ namespace Swift { void start(); + void sendStanza(boost::shared_ptr<Stanza> stanza); + private: void handleElement(boost::shared_ptr<Element>); void handleStreamStart(const ProtocolHeader&); - //void handleHostnameResolved(const String& hostname, const HostAddress& address); + void handleHostnameResolved(const String& hostname, const boost::optional<HostAddress>& address); + void handleConnected(); private: bool resolving_; JID remoteJID_; String hostname_; + int port_; boost::shared_ptr<DNSSDService> resolver_; + std::vector<boost::shared_ptr<Stanza> > queuedStanzas_; ConnectionFactory* connectionFactory_; }; } |