Line data Source code
1 : /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /* vim: set sw=4 ts=8 et tw=80 : */
3 : /* This Source Code Form is subject to the terms of the Mozilla Public
4 : * License, v. 2.0. If a copy of the MPL was not distributed with this
5 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 :
7 : #include "mozilla/net/DNSListenerProxy.h"
8 : #include "nsICancelable.h"
9 : #include "nsIEventTarget.h"
10 :
11 : namespace mozilla {
12 : namespace net {
13 :
14 0 : NS_IMPL_ISUPPORTS(DNSListenerProxy,
15 : nsIDNSListener,
16 : nsIDNSListenerProxy)
17 :
18 : NS_IMETHODIMP
19 0 : DNSListenerProxy::OnLookupComplete(nsICancelable* aRequest,
20 : nsIDNSRecord* aRecord,
21 : nsresult aStatus)
22 : {
23 : RefPtr<OnLookupCompleteRunnable> r =
24 0 : new OnLookupCompleteRunnable(mListener, aRequest, aRecord, aStatus);
25 0 : return mTargetThread->Dispatch(r, NS_DISPATCH_NORMAL);
26 : }
27 :
28 : NS_IMETHODIMP
29 0 : DNSListenerProxy::OnLookupCompleteRunnable::Run()
30 : {
31 0 : mListener->OnLookupComplete(mRequest, mRecord, mStatus);
32 0 : return NS_OK;
33 : }
34 :
35 : NS_IMETHODIMP
36 0 : DNSListenerProxy::GetOriginalListener(nsIDNSListener **aOriginalListener)
37 : {
38 0 : NS_IF_ADDREF(*aOriginalListener = mListener);
39 0 : return NS_OK;
40 : }
41 :
42 : } // namespace net
43 : } // namespace mozilla
|