WARNING: Most of this content (with the exception of the Mozilla 1.9 XPCOM reference) is very old, and can be expected to be out of date and possibly obsolete. For better XUL documentation, please visit the XUL hub at the Mozilla Developer Center.

nsIInterfaceRequestor

IID:033A1470-8B2A-11d3-AF88-00A024FFC08C
Inherits From:nsISupports
Status:FROZEN

The nsIInterfaceRequestor interface defines a generic interface for requesting interfaces that a given object might provide access to. This is very similar to QueryInterface found in nsISupports. The main difference is that interfaces returned from GetInterface() are not required to provide a way back to the object implementing this interface. The semantics of QI() dictate that given an interface A that you QI() on to get to interface B, you must be able to QI on B to get back to A. This interface however allows you to obtain an interface C from A that may or most likely will not have the ability to get back to A.

This interface is implemented by the following components:


Methods

void getInterface ( nsIIDRef uuid , out nsQIResult* result )

void getInterface ( nsIIDRef uuid , out nsQIResult* result )

Retrieves the specified interface pointer.

Arguments:
uuid: The IID of the interface being requested.
result: [out] The interface pointer to be filled in if the interface is accessible.
Returns:
NS_OK - interface was successfully returned. NS_NOINTERFACE - interface not accessible. NS_ERROR* - method failure.

References

This interface is the type of the following properties:

nsIChannel.notificationCallbacks, nsILoadGroup.notificationCallbacks, nsISSLSocketControl.notificationCallbacks, nsISmtpUrl.notificationCallbacks, nsISocketTransport.securityCallbacks

This interface is passed as an argument to the following methods:

nsIBadCertListener2.notifyCertProblem, nsICertPickDialogs.PickCertificate, nsICertificateDialogs.confirmDownloadCACert, nsICertificateDialogs.crlImportStatusDialog, nsICertificateDialogs.getPKCS12FilePassword, nsICertificateDialogs.notifyCACertExists, nsICertificateDialogs.setPKCS12FilePassword, nsICertificateDialogs.viewCert, nsIClientAuthDialogs.ChooseCertificate, nsIContentDispatchChooser.ask, nsIContentHandler.handleContent, nsIDownloadManagerUI.show, nsIExternalHelperAppService.doContent, nsIExternalProtocolService.loadURI, nsIFormSigningDialog.confirmSignText, nsIGeneratingKeypairInfoDialogs.displayGeneratingKeypairInfo, nsIHandlerApp.launchWithURI, nsIHandlerInfo.launchWithURI, nsISSLErrorListener.notifySSLError, nsISecurityWarningDialogs.confirmEnteringSecure, nsISecurityWarningDialogs.confirmEnteringWeak, nsISecurityWarningDialogs.confirmLeavingSecure, nsISecurityWarningDialogs.confirmMixedMode, nsISecurityWarningDialogs.confirmPostToInsecure, nsISecurityWarningDialogs.confirmPostToInsecureFromSecure, nsISmtpService.SendMailMessage, nsITokenDialogs.ChooseToken, nsITokenDialogs.displayProtectedAuth, nsITokenPasswordDialogs.getPassword, nsITokenPasswordDialogs.setPassword, nsIURILoader.openChannel, nsIURILoader.openURI, nsIUserCertPicker.pickByUsage, nsIX509CertDB.importCertificates, nsIX509CertDB.importEmailCertificate, nsIX509CertDB.importServerCertificate, nsIX509CertDB.importUserCertificate

Reference documentation is generated from Mozilla's source.