// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_COMMON_NET_RAW_HOST_RESOLVER_PROC_H_ #define CHROME_COMMON_NET_RAW_HOST_RESOLVER_PROC_H_ #pragma once // RawHostResolverProc will eventually be a getaddrinfo() replacement. It // will construct and send DNS queries to the DNS server specified via // --dns-server flag and will parse the responses and put it into a cache // together with the TTL. Necessary amendments will be made to cache and // HostResolverProc interface to accomodate these. #include <string> #include "net/base/host_resolver_proc.h" #include "net/base/net_util.h" namespace chrome_common_net { class RawHostResolverProc : public net::HostResolverProc { public: RawHostResolverProc(const net::IPAddressNumber& dns_server, net::HostResolverProc* previous); virtual int Resolve(const std::string& host, net::AddressFamily address_family, net::HostResolverFlags host_resolver_flags, net::AddressList* addrlist, int* os_error); private: virtual ~RawHostResolverProc(); net::IPAddressNumber dns_server_; }; } // namespace chrome_common_net #endif // CHROME_COMMON_NET_RAW_HOST_RESOLVER_PROC_H_