summaryrefslogtreecommitdiffstats
path: root/net/base/dnsrr_resolver.cc
diff options
context:
space:
mode:
authorwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-04 15:02:18 +0000
committerwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-04 15:02:18 +0000
commitb19537cdc317d6baab5183e111668ccc88c661f6 (patch)
treeff0677915cf56d7ca78150f6a279960c0c243907 /net/base/dnsrr_resolver.cc
parentd10f0a0460e6c508adf61e6825f390e6c346091f (diff)
downloadchromium_src-b19537cdc317d6baab5183e111668ccc88c661f6.zip
chromium_src-b19537cdc317d6baab5183e111668ccc88c661f6.tar.gz
chromium_src-b19537cdc317d6baab5183e111668ccc88c661f6.tar.bz2
Introduce a new CompletionCallback and TestCompletionCallback.
Start using it in DnsRRResolver. BUG=98719 TEST=none Review URL: http://codereview.chromium.org/8095026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103885 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/dnsrr_resolver.cc')
-rw-r--r--net/base/dnsrr_resolver.cc15
1 files changed, 8 insertions, 7 deletions
diff --git a/net/base/dnsrr_resolver.cc b/net/base/dnsrr_resolver.cc
index d74a92b..b11ea2e 100644
--- a/net/base/dnsrr_resolver.cc
+++ b/net/base/dnsrr_resolver.cc
@@ -113,30 +113,30 @@ RRResponse::~RRResponse() {}
class RRResolverHandle {
public:
- RRResolverHandle(OldCompletionCallback* callback, RRResponse* response)
+ RRResolverHandle(const CompletionCallback& callback, RRResponse* response)
: callback_(callback),
response_(response) {
}
// Cancel ensures that the result callback will never be made.
void Cancel() {
- callback_ = NULL;
+ callback_.Reset();
response_ = NULL;
}
// Post copies the contents of |response| to the caller's RRResponse and
// calls the callback.
void Post(int rv, const RRResponse* response) {
- if (callback_) {
+ if (!callback_.is_null()) {
if (response_ && response)
*response_ = *response;
- callback_->Run(rv);
+ callback_.Run(rv);
}
delete this;
}
private:
- OldCompletionCallback* callback_;
+ CompletionCallback callback_;
RRResponse* response_;
};
@@ -541,14 +541,15 @@ DnsRRResolver::~DnsRRResolver() {
}
intptr_t DnsRRResolver::Resolve(const std::string& name, uint16 rrtype,
- uint16 flags, OldCompletionCallback* callback,
+ uint16 flags,
+ const CompletionCallback& callback,
RRResponse* response,
int priority /* ignored */,
const BoundNetLog& netlog /* ignored */) {
DCHECK(CalledOnValidThread());
DCHECK(!in_destructor_);
- if (!callback || !response || name.empty())
+ if (callback.is_null() || !response || name.empty())
return kInvalidHandle;
// Don't allow queries of type ANY