#pragma once #include #include #include "Swiften/LinkLocal/DNSSDService.h" namespace Swift { class HostAddress; class LinkLocalRoster { public: LinkLocalRoster(boost::shared_ptr service); private: void handleStopped(bool); void handleServiceRegistered(const DNSSDService::Service& service); void handleServiceAdded(const DNSSDService::Service&); void handleServiceRemoved(const DNSSDService::Service&); void handleServiceResolved(const DNSSDService::Service& service, const DNSSDService::ResolveResult& result); void handleHostnameResolved(const String& hostname, const boost::optional& address); private: boost::shared_ptr dnsSDService; boost::optional selfService; }; }