1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_COMMON_NET_RAW_HOST_RESOLVER_PROC_H_ 6 #define CHROME_COMMON_NET_RAW_HOST_RESOLVER_PROC_H_ 7 #pragma once 8 9 // RawHostResolverProc will eventually be a getaddrinfo() replacement. It 10 // will construct and send DNS queries to the DNS server specified via 11 // --dns-server flag and will parse the responses and put it into a cache 12 // together with the TTL. Necessary amendments will be made to cache and 13 // HostResolverProc interface to accomodate these. 14 15 #include <string> 16 17 #include "net/base/host_resolver_proc.h" 18 #include "net/base/net_util.h" 19 20 namespace chrome_common_net { 21 22 class RawHostResolverProc : public net::HostResolverProc { 23 public: 24 RawHostResolverProc(const net::IPAddressNumber& dns_server, 25 net::HostResolverProc* previous); 26 27 virtual int Resolve(const std::string& host, 28 net::AddressFamily address_family, 29 net::HostResolverFlags host_resolver_flags, 30 net::AddressList* addrlist, 31 int* os_error); 32 private: 33 virtual ~RawHostResolverProc(); 34 35 net::IPAddressNumber dns_server_; 36 }; 37 38 } // namespace chrome_common_net 39 40 #endif // CHROME_COMMON_NET_RAW_HOST_RESOLVER_PROC_H_ 41