gecko-dev/netwerk/dns/nsIDNSListener.idl

62 строки
1.9 KiB
Plaintext

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsISupports.idl"
interface nsICancelable;
interface nsIDNSRecord;
interface nsIDNSByTypeRecord;
/**
* nsIDNSListener
*/
[scriptable, uuid(27d49bfe-280c-49e0-bbaa-f6200c232c3d)]
interface nsIDNSListener : nsISupports
{
/**
* called when an asynchronous host lookup completes.
*
* @param aRequest
* the value returned from asyncResolve.
* @param aRecord
* the DNS record corresponding to the hostname that was resolved.
* this parameter is null if there was an error.
* @param aStatus
* if the lookup failed, this parameter gives the reason.
*/
void onLookupComplete(in nsICancelable aRequest,
in nsIDNSRecord aRecord,
in nsresult aStatus);
/**
* called when an asynchronous dns lookup by type completes.
*
* @param aRequest
* the value returned from asyncResolve.
* @param aRecord
* a string returned by the dns server.
* @param aStatus
* if the lookup failed, this parameter gives the reason.
*/
void onLookupByTypeComplete(in nsICancelable aRequest,
in nsIDNSByTypeRecord aResult,
in nsresult aStatus);
};
/**
* nsIDNSListenerProxy:
*
* Must be implemented by classes that wrap the original listener passed to
* nsIDNSService.AsyncResolve, so we have access to original listener for
* comparison purposes.
*/
[uuid(60eff0e4-6f7c-493c-add9-1cbea59063ad)]
interface nsIDNSListenerProxy : nsISupports
{
/*
* The original nsIDNSListener which requested hostname resolution.
*/
readonly attribute nsIDNSListener originalListener;
};