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.

nsIFactory

IID:00000001-0000-0000-c000-000000000046
Inherits From:nsISupports
Status:FROZEN

A class factory allows the creation of nsISupports derived components without specifying a concrete base class.

This interface is implemented by the following components:


Methods

void createInstance ( nsISupports outer , nsIIDRef iid , out nsQIResult* result ) void lockFactory ( PRBool lock )

void createInstance ( nsISupports outer , nsIIDRef iid , out nsQIResult* result )

Creates an instance of a component.

Arguments:
outer: Pointer to a component that wishes to be aggregated in the resulting instance. This will be nsnull if no aggregation is requested.
iid: The IID of the interface being requested in the component which is being currently created.
result: [out] Pointer to the newly created instance, if successful.
Returns:
NS_OK - Component successfully created and the interface being requested was successfully returned in result. NS_NOINTERFACE - Interface not accessible. NS_ERROR_NO_AGGREGATION - if an 'outer' object is supplied, but the component is not aggregatable. NS_ERROR* - Method failure.

void lockFactory ( PRBool lock )

LockFactory provides the client a way to keep the component in memory until it is finished with it. The client can call LockFactory(PR_TRUE) to lock the factory and LockFactory(PR_FALSE) to release the factory.

Arguments:
lock: - Must be PR_TRUE or PR_FALSE
Returns:
NS_OK - If the lock operation was successful. NS_ERROR* - Method failure.

References

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

nsIComponentManagerObsolete.registerFactory, nsIComponentManagerObsolete.unregisterFactory, nsIComponentRegistrar.registerFactory, nsIComponentRegistrar.unregisterFactory

This interface is returned from the following methods:

nsIComponentManagerObsolete.findFactory

Reference documentation is generated from Mozilla's source.