Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef NET_BASE_HOST_RESOLVER_H_ | 5 #ifndef NET_BASE_HOST_RESOLVER_H_ |
| 6 #define NET_BASE_HOST_RESOLVER_H_ | 6 #define NET_BASE_HOST_RESOLVER_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/ref_counted.h" | 10 #include "base/ref_counted.h" |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 140 virtual void CancelRequest(RequestHandle req) = 0; | 140 virtual void CancelRequest(RequestHandle req) = 0; |
| 141 | 141 |
| 142 // Adds an observer to this resolver. The observer will be notified of the | 142 // Adds an observer to this resolver. The observer will be notified of the |
| 143 // start and completion of all requests (excluding cancellation). |observer| | 143 // start and completion of all requests (excluding cancellation). |observer| |
| 144 // must remain valid for the duration of this HostResolver's lifetime. | 144 // must remain valid for the duration of this HostResolver's lifetime. |
| 145 virtual void AddObserver(Observer* observer) = 0; | 145 virtual void AddObserver(Observer* observer) = 0; |
| 146 | 146 |
| 147 // Unregisters an observer previously added by AddObserver(). | 147 // Unregisters an observer previously added by AddObserver(). |
| 148 virtual void RemoveObserver(Observer* observer) = 0; | 148 virtual void RemoveObserver(Observer* observer) = 0; |
| 149 | 149 |
| 150 // Returns the host cache, or NULL if this implementation does not use | |
| 151 // a HostCache. | |
| 152 virtual HostCache* GetHostCache() = 0; | |
| 153 | |
| 154 // TODO(eroman): temp hack for http://crbug.com/18373 | 150 // TODO(eroman): temp hack for http://crbug.com/18373 |
| 155 virtual void Shutdown() = 0; | 151 virtual void Shutdown() = 0; |
| 156 | 152 |
| 157 // Sets the default AddressFamily to use when requests have left it | 153 // Sets the default AddressFamily to use when requests have left it |
| 158 // unspecified. For example, this could be used to restrict resolution | 154 // unspecified. For example, this could be used to restrict resolution |
| 159 // results to AF_INET by passing in ADDRESS_FAMILY_IPV4, or to | 155 // results to AF_INET by passing in ADDRESS_FAMILY_IPV4, or to |
| 160 // AF_INET6 by passing in ADDRESS_FAMILY_IPV6. | 156 // AF_INET6 by passing in ADDRESS_FAMILY_IPV6. |
| 161 virtual void SetDefaultAddressFamily(AddressFamily address_family) {} | 157 virtual void SetDefaultAddressFamily(AddressFamily address_family) {} |
| 162 | 158 |
| 159 virtual bool IsHostResolverImpl() { return false; } | |
|
willchan no longer on Chromium
2010/02/01 19:31:01
My first gut reaction was "ew". This looks ugly.
eroman
2010/02/01 20:31:25
I agree that this is ugly. Here is my justificatio
willchan no longer on Chromium
2010/02/01 21:27:33
Yes, I'd imagine the incognito consumer would have
| |
| 160 | |
| 163 protected: | 161 protected: |
| 164 friend class base::RefCountedThreadSafe<HostResolver>; | 162 friend class base::RefCountedThreadSafe<HostResolver>; |
| 165 | 163 |
| 166 HostResolver() { } | 164 HostResolver() { } |
| 167 | 165 |
| 168 // If any completion callbacks are pending when the resolver is destroyed, | 166 // If any completion callbacks are pending when the resolver is destroyed, |
| 169 // the host resolutions are cancelled, and the completion callbacks will not | 167 // the host resolutions are cancelled, and the completion callbacks will not |
| 170 // be called. | 168 // be called. |
| 171 virtual ~HostResolver() {} | 169 virtual ~HostResolver() {} |
| 172 | 170 |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 216 }; | 214 }; |
| 217 | 215 |
| 218 // Creates a HostResolver implementation that queries the underlying system. | 216 // Creates a HostResolver implementation that queries the underlying system. |
| 219 // (Except if a unit-test has changed the global HostResolverProc using | 217 // (Except if a unit-test has changed the global HostResolverProc using |
| 220 // ScopedHostResolverProc to intercept requests to the system). | 218 // ScopedHostResolverProc to intercept requests to the system). |
| 221 HostResolver* CreateSystemHostResolver(); | 219 HostResolver* CreateSystemHostResolver(); |
| 222 | 220 |
| 223 } // namespace net | 221 } // namespace net |
| 224 | 222 |
| 225 #endif // NET_BASE_HOST_RESOLVER_H_ | 223 #endif // NET_BASE_HOST_RESOLVER_H_ |
| OLD | NEW |