/* * Copyright (c) 2010 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #pragma once #include #include #include #include #include #include #include #include #include "Swiften/LinkLocal/DNSSD/DNSSDQuerier.h" namespace Swift { class ByteArray; class AvahiQuerier : public DNSSDQuerier, public boost::enable_shared_from_this { public: AvahiQuerier(); ~AvahiQuerier(); boost::shared_ptr createBrowseQuery(); boost::shared_ptr createRegisterQuery( const String& name, int port, const ByteArray& info); boost::shared_ptr createResolveServiceQuery( const DNSSDServiceID&); boost::shared_ptr createResolveHostnameQuery( const String& hostname, int interfaceIndex); void start(); void stop(); AvahiThreadedPoll* getThreadedPoll() const { return threadedPoll; } AvahiClient* getClient() const { return client; } private: AvahiClient* client; AvahiThreadedPoll* threadedPoll; }; }