| Index: net/base/dns_resolution_observer.h
|
| ===================================================================
|
| --- net/base/dns_resolution_observer.h (revision 18360)
|
| +++ net/base/dns_resolution_observer.h (working copy)
|
| @@ -15,10 +15,13 @@
|
|
|
| #include <string>
|
|
|
| +#include "net/base/host_resolver.h"
|
| +
|
| class GURL;
|
|
|
| namespace net {
|
|
|
| +// TODO(eroman): Move this interface to HostResolver::Observer.
|
| class DnsResolutionObserver {
|
| public:
|
| virtual ~DnsResolutionObserver() {}
|
| @@ -26,40 +29,17 @@
|
| // For each OnStartResolution() notification, there should be a later
|
| // OnFinishResolutionWithStatus() indicating completion of the resolution
|
| // activity.
|
| - // Related pairs of notification will arrive with matching context values.
|
| - // A caller may use the context values to match up these asynchronous calls
|
| + // Related pairs of notification will arrive with matching id values.
|
| + // A caller may use the id values to match up these asynchronous calls
|
| // from among a larger call stream.
|
| - // Once a matching pair of notifications has been provided (i.e., a pair with
|
| - // identical context values), and the notification methods (below) have
|
| - // returned, the context values *might* be reused.
|
| - virtual void OnStartResolution(const std::string& host_name,
|
| - void* context) = 0;
|
| - virtual void OnFinishResolutionWithStatus(bool was_resolved,
|
| - const GURL& referrer,
|
| - void* context) = 0;
|
| + virtual void OnStartResolution(int id,
|
| + const HostResolver::RequestInfo& info) = 0;
|
| + virtual void OnFinishResolutionWithStatus(
|
| + int id,
|
| + bool was_resolved,
|
| + const HostResolver::RequestInfo& info) = 0;
|
| };
|
|
|
| -
|
| -// Note that *exactly* one observer is currently supported, and any attempt to
|
| -// add a second observer via AddDnsResolutionObserver() before removing the
|
| -// first DnsResolutionObserver will induce a DCHECK() assertion.
|
| -void AddDnsResolutionObserver(DnsResolutionObserver* new_observer);
|
| -
|
| -// Note that the RemoveDnsResolutionObserver() will NOT perform any delete
|
| -// operations, and it is the responsibility of the code that called
|
| -// AddDnsResolutionObserver() to make a corresponding call to
|
| -// RemoveDnsResolutionObserver() and then delete the returned
|
| -// DnsResolutionObserver instance.
|
| -DnsResolutionObserver* RemoveDnsResolutionObserver();
|
| -
|
| -// The following functions are expected to be called only by network stack
|
| -// implementations. This above observer class will relay the notifications
|
| -// to any registered observer.
|
| -void DidStartDnsResolution(const std::string& name,
|
| - void* context);
|
| -void DidFinishDnsResolutionWithStatus(bool was_resolved,
|
| - const GURL& url,
|
| - void* context);
|
| } // namspace net
|
|
|
| #endif // NET_BASE_DNS_RESOLUTION_OBSERVER_H_
|
|
|