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