summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/LinkLocal/DNSSDService.h')
-rw-r--r--Swiften/LinkLocal/DNSSDService.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/Swiften/LinkLocal/DNSSDService.h b/Swiften/LinkLocal/DNSSDService.h
new file mode 100644
index 0000000..0899ffd
--- /dev/null
+++ b/Swiften/LinkLocal/DNSSDService.h
@@ -0,0 +1,27 @@
+#pragma once
+
+#include <boost/signal.hpp>
+#include <map>
+
+#include "Swiften/Base/String.h"
+
+namespace Swift {
+ class DNSSDService {
+ public:
+ struct DiscoveredService {
+ String name;
+ String type;
+ String domain;
+ int networkInterface;
+ };
+
+ virtual ~DNSSDService();
+
+ virtual void publishService(const std::map<String,String> properties) = 0;
+ virtual void start() = 0;
+
+ boost::signal<void (const DiscoveredService&)> onServiceAdded;
+ boost::signal<void (const DiscoveredService&)> onServiceRemoved;
+ boost::signal<void ()> onServiceRegistered;
+ };
+}