/* * Copyright (c) 2010-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once #include #include #include #include #include namespace Swift { class BonjourQuerier; class EventLoop; class BonjourQuery : public EventOwner, public boost::enable_shared_from_this { public: BonjourQuery(boost::shared_ptr, EventLoop* eventLoop); virtual ~BonjourQuery(); void processResult(); int getSocketID() const; protected: void run(); void finish(); protected: EventLoop* eventLoop; boost::shared_ptr querier; mutable boost::mutex sdRefMutex; DNSServiceRef sdRef; }; }