#pragma once #include #ifdef UDNS_FOUND class Poller; #include #include #include #include class DNSHandler { public: explicit DNSHandler(std::shared_ptr& poller); ~DNSHandler() = default; DNSHandler(const DNSHandler&) = delete; DNSHandler(DNSHandler&&) = delete; DNSHandler& operator=(const DNSHandler&) = delete; DNSHandler& operator=(DNSHandler&&) = delete; void destroy(); static void watch(); static void unwatch(); private: /** * Manager for the socket returned by udns, that we need to watch with the poller */ static std::unique_ptr socket_handler; }; #endif /* UDNS_FOUND */