• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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