summaryrefslogtreecommitdiffstats
blob: 0899ffd093b73d278f7df098e9e565842ddc2148 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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;
	};
}