summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-07-27 18:33:30 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-07-27 18:33:30 (GMT)
commit4b809245dd6a1236dda99ab780485599434a419a (patch)
treeef6f8c99b0abf1a932520016aa21bc30df15b97a /Swiften/LinkLocal/DNSSD/Avahi/AvahiQuerier.h
parent644bcda4cb795944cc5d5df53b3c0392450239df (diff)
downloadswift-4b809245dd6a1236dda99ab780485599434a419a.zip
swift-4b809245dd6a1236dda99ab780485599434a419a.tar.bz2
Add beginnings of AvahiQuerier.
Diffstat (limited to 'Swiften/LinkLocal/DNSSD/Avahi/AvahiQuerier.h')
-rw-r--r--Swiften/LinkLocal/DNSSD/Avahi/AvahiQuerier.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/Swiften/LinkLocal/DNSSD/Avahi/AvahiQuerier.h b/Swiften/LinkLocal/DNSSD/Avahi/AvahiQuerier.h
new file mode 100644
index 0000000..ca45384
--- /dev/null
+++ b/Swiften/LinkLocal/DNSSD/Avahi/AvahiQuerier.h
@@ -0,0 +1,39 @@
+#pragma once
+
+#include <boost/shared_ptr.hpp>
+#include <boost/enable_shared_from_this.hpp>
+#include <avahi-client/client.h>
+#include <avahi-client/lookup.h>
+#include <avahi-common/thread-watch.h>
+#include <avahi-common/watch.h>
+#include <avahi-common/malloc.h>
+#include <avahi-common/error.h>
+
+#include "Swiften/LinkLocal/DNSSD/DNSSDQuerier.h"
+
+namespace Swift {
+ class ByteArray;
+
+ class AvahiQuerier :
+ public DNSSDQuerier,
+ public boost::enable_shared_from_this<AvahiQuerier> {
+ public:
+ AvahiQuerier();
+ ~AvahiQuerier();
+
+ boost::shared_ptr<DNSSDBrowseQuery> createBrowseQuery();
+ boost::shared_ptr<DNSSDRegisterQuery> createRegisterQuery(
+ const String& name, int port, const ByteArray& info);
+ boost::shared_ptr<DNSSDResolveServiceQuery> createResolveServiceQuery(
+ const DNSSDServiceID&);
+ boost::shared_ptr<DNSSDResolveHostnameQuery> createResolveHostnameQuery(
+ const String& hostname, int interfaceIndex);
+
+ void start();
+ void stop();
+
+ private:
+ AvahiClient* client;
+ AvahiThreadedPoll* threadedPoll;
+ };
+}