diff options
author | Remko Tronçon <git@el-tramo.be> | 2009-07-23 19:03:11 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2009-07-23 19:03:11 (GMT) |
commit | 3a0309d2d897bf4f399610e52ad439c002e16f9c (patch) | |
tree | 47bff40c767b95b7b395393186769e0fb68badc1 /Swiften/LinkLocal/PlatformDNSSDServiceFactory.cpp | |
parent | 1c1491cbbe9fca509ddc292dbeaedbba7b6a2b14 (diff) | |
download | swift-contrib-3a0309d2d897bf4f399610e52ad439c002e16f9c.zip swift-contrib-3a0309d2d897bf4f399610e52ad439c002e16f9c.tar.bz2 |
Add DNS service factory.
Diffstat (limited to 'Swiften/LinkLocal/PlatformDNSSDServiceFactory.cpp')
-rw-r--r-- | Swiften/LinkLocal/PlatformDNSSDServiceFactory.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Swiften/LinkLocal/PlatformDNSSDServiceFactory.cpp b/Swiften/LinkLocal/PlatformDNSSDServiceFactory.cpp new file mode 100644 index 0000000..df70506 --- /dev/null +++ b/Swiften/LinkLocal/PlatformDNSSDServiceFactory.cpp @@ -0,0 +1,38 @@ +#include "Swiften/LinkLocal/PlatformDNSSDServiceFactory.h" + +#include <cassert> + +#ifdef HAVE_SWIFTEN_CONFIG_H +#include "Swiften/config.h" +#endif +#if defined(HAVE_AVAHI) +#include "Swiften/LinkLocal/AvahiDNSSDService.h" +#elif defined(HAVE_BONJOUR) +#include "Swiften/LinkLocal/AppleDNSSDService.h" +#endif + +namespace Swift { + +PlatformDNSSDServiceFactory::PlatformDNSSDServiceFactory() { +} + +bool PlatformDNSSDServiceFactory::canCreate() const { +#if defined(HAVE_AVAHI) || defined(HAVE_BONJOUR) + return true; +#else + return false; +#endif +} + +boost::shared_ptr<DNSSDService> PlatformDNSSDServiceFactory::createDNSSDService() { +#if defined(HAVE_AVAHI) + return boost::shared_ptr<DNSSDService>(new AvahiDNSSDService()); +#elif defined(HAVE_BONJOUR) + return boost::shared_ptr<DNSSDService>(new AppleDNSSDService()); +#else + assert(false); + return boost::shared_ptr<DNSSDService>(); +#endif +} + +} |