summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/LinkLocal/OutgoingLinkLocalSession.h')
-rw-r--r--Swiften/LinkLocal/OutgoingLinkLocalSession.h11
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_;
};
}