nsIWeakReference

IID:9188bc85-f92e-11d2-81ef-0060083a0bcf
Inherits From:nsISupports
Status:FROZEN

An instance of nsIWeakReference is a proxy object that cooperates with its referent to give clients a non-owning, non-dangling reference. Clients own the proxy, and should generally manage it with an nsCOMPtr (see the type nsWeakPtr for a typedef name that stands out) as they would any other XPCOM object. The QueryReferent member function provides a (hopefully short-lived) owning reference on demand, through which clients can get useful access to the referent, while it still exists.


Methods

void QueryReferent ( nsIIDRef uuid , retval nsQIResult* result )

void QueryReferent ( nsIIDRef uuid , retval nsQIResult* result )

QueryReferent queries the referent, if it exists, and like QueryInterface, produces an owning reference to the desired interface. It is designed to look and act exactly like (a proxied) QueryInterface. Don't hold on to the produced interface permanently; that would defeat the purpose of using a non-owning nsIWeakReference in the first place.

Arguments:
uuid
result

References

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

nsIAccessibilityService.createHTMLAreaAccessible, nsIAccessibleRetrieval.getAccessibleInWeakShell, nsIAccessibleRetrieval.getCachedAccessNode, nsIAccessibleRetrieval.getCachedAccessible, nsIWebBrowser.addWebBrowserListener, nsIWebBrowser.removeWebBrowserListener

This interface is returned from the following methods:

nsISupportsWeakReference.GetWeakReference

Reference documentation is generated from Mozilla's source.

Add a note User Contributed Notes
No comments available

Copyright © 1999 - 2005 XULPlanet.com