summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-08-05 16:58:24 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-08-05 16:58:24 (GMT)
commit1873eca1f2147fa18f03fdd849fdd73d1a012be1 (patch)
tree9a32b219c601940ae0741bd50434bfabec9a1402 /Swiften/LinkLocal
parent8de45cd97339e94ae0dc120f068248b5795e118b (diff)
downloadswift-contrib-1873eca1f2147fa18f03fdd849fdd73d1a012be1.zip
swift-contrib-1873eca1f2147fa18f03fdd849fdd73d1a012be1.tar.bz2
Slimber: Use DNSSD factory.
Diffstat (limited to 'Swiften/LinkLocal')
-rw-r--r--Swiften/LinkLocal/DNSSD/Makefile.inc3
-rw-r--r--Swiften/LinkLocal/DNSSD/PlatformDNSSDQuerierFactory.cpp25
-rw-r--r--Swiften/LinkLocal/DNSSD/PlatformDNSSDQuerierFactory.h12
3 files changed, 39 insertions, 1 deletions
diff --git a/Swiften/LinkLocal/DNSSD/Makefile.inc b/Swiften/LinkLocal/DNSSD/Makefile.inc
index f6997ef..4b014f3 100644
--- a/Swiften/LinkLocal/DNSSD/Makefile.inc
+++ b/Swiften/LinkLocal/DNSSD/Makefile.inc
@@ -4,7 +4,8 @@ SWIFTEN_SOURCES += \
Swiften/LinkLocal/DNSSD/DNSSDBrowseQuery.cpp \
Swiften/LinkLocal/DNSSD/DNSSDRegisterQuery.cpp \
Swiften/LinkLocal/DNSSD/DNSSDResolveServiceQuery.cpp \
- Swiften/LinkLocal/DNSSD/DNSSDResolveHostnameQuery.cpp
+ Swiften/LinkLocal/DNSSD/DNSSDResolveHostnameQuery.cpp \
+ Swiften/LinkLocal/DNSSD/PlatformDNSSDQuerierFactory.cpp
ifeq ($(HAVE_BONJOUR),yes)
include Swiften/LinkLocal/DNSSD/Bonjour/Makefile.inc
diff --git a/Swiften/LinkLocal/DNSSD/PlatformDNSSDQuerierFactory.cpp b/Swiften/LinkLocal/DNSSD/PlatformDNSSDQuerierFactory.cpp
new file mode 100644
index 0000000..e704b72
--- /dev/null
+++ b/Swiften/LinkLocal/DNSSD/PlatformDNSSDQuerierFactory.cpp
@@ -0,0 +1,25 @@
+#include "Swiften/LinkLocal/DNSSD/PlatformDNSSDQuerierFactory.h"
+
+#ifdef HAVE_SWIFTEN_CONFIG_H
+#include "Swiften/config.h"
+#endif
+#if defined(HAVE_BONJOUR)
+#include "Swiften/LinkLocal/DNSSD/Bonjour/BonjourQuerier.h"
+#elif defined(HAVE_AVAHI)
+#include "Swiften/LinkLocal/DNSSD/Avahi/AvahiQuerier.h"
+#endif
+
+
+namespace Swift {
+
+boost::shared_ptr<DNSSDQuerier> PlatformDNSSDQuerierFactory::createQuerier() {
+#if defined(HAVE_BONJOUR)
+ return boost::shared_ptr<DNSSDQuerier>(new BonjourQuerier());
+#elif defined(HAVE_AVAHI)
+ return boost::shared_ptr<DNSSDQuerier>(new AvahiQuerier());
+#else
+ return boost::shared_ptr<DNSSDQuerier>();
+#endif
+}
+
+}
diff --git a/Swiften/LinkLocal/DNSSD/PlatformDNSSDQuerierFactory.h b/Swiften/LinkLocal/DNSSD/PlatformDNSSDQuerierFactory.h
new file mode 100644
index 0000000..b52814b
--- /dev/null
+++ b/Swiften/LinkLocal/DNSSD/PlatformDNSSDQuerierFactory.h
@@ -0,0 +1,12 @@
+#pragma once
+
+#include <boost/shared_ptr.hpp>
+
+namespace Swift {
+ class DNSSDQuerier;
+
+ class PlatformDNSSDQuerierFactory {
+ public:
+ boost::shared_ptr<DNSSDQuerier> createQuerier();
+ };
+}