/* * Copyright (c) 2010 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once #include #include #include #include #include #include namespace Swift { class PlatformDomainNameResolver; class EventLoop; class PlatformDomainNameAddressQuery : public DomainNameAddressQuery, public PlatformDomainNameQuery, public boost::enable_shared_from_this, public EventOwner { public: PlatformDomainNameAddressQuery(const boost::optional& host, EventLoop* eventLoop, PlatformDomainNameResolver*); void run(); private: void runBlocking(); void emitError(); private: boost::asio::io_service ioService; std::string hostname; bool hostnameValid; EventLoop* eventLoop; }; }