Struct xpcom::interfaces::nsIFactory
[−]
[src]
#[repr(C)]pub struct nsIFactory { /* fields omitted */ }
interface nsIFactory : nsISupports
/**
* A class factory allows the creation of nsISupports derived
* components without specifying a concrete base class.
*/
Methods
impl nsIFactory
[src]
pub fn coerce<T: nsIFactoryCoerce>(&self) -> &T
[src]
Cast this nsIFactory
to one of its base interfaces.
impl nsIFactory
[src]
pub unsafe fn CreateInstance(
&self,
aOuter: *const nsISupports,
iid: &nsIID,
result: *mut *mut c_void
) -> nsresult
[src]
&self,
aOuter: *const nsISupports,
iid: &nsIID,
result: *mut *mut c_void
) -> nsresult
/**
* Creates an instance of a component.
*
* @param aOuter Pointer to a component that wishes to be aggregated
* in the resulting instance. This will be nullptr if no
* aggregation is requested.
* @param iid The IID of the interface being requested in
* the component which is being currently created.
* @param result [out] Pointer to the newly created instance, if successful.
* @throws NS_NOINTERFACE - Interface not accessible.
* @throws NS_ERROR_NO_AGGREGATION - if an 'outer' object is supplied, but the
* component is not aggregatable.
* NS_ERROR* - Method failure.
*/
void createInstance (in nsISupports aOuter, in nsIIDRef iid, [iid_is (iid), retval] out nsQIResult result);
pub unsafe fn LockFactory(&self, lock: bool) -> nsresult
[src]
/**
* 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.
*
* @param lock - Must be PR_TRUE or PR_FALSE
* @throws NS_ERROR* - Method failure.
*/
void lockFactory (in boolean lock);
Methods from Deref<Target = nsISupports>
pub fn coerce<T: nsISupportsCoerce>(&self) -> &T
[src]
Cast this nsISupports
to one of its base interfaces.
pub unsafe fn QueryInterface(
&self,
uuid: &nsIID,
result: *mut *mut c_void
) -> nsresult
[src]
&self,
uuid: &nsIID,
result: *mut *mut c_void
) -> nsresult
void QueryInterface (in nsIIDRef uuid, [iid_is (uuid), retval] out nsQIResult result);
pub unsafe fn AddRef(&self) -> nsrefcnt
[src]
[noscript,notxpcom] nsrefcnt AddRef ();
pub unsafe fn Release(&self) -> nsrefcnt
[src]
[noscript,notxpcom] nsrefcnt Release ();
Trait Implementations
impl XpCom for nsIFactory
[src]
const IID: nsIID
IID: nsIID = nsID(1, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70])
fn query_interface<T: XpCom>(&self) -> Option<RefPtr<T>>
[src]
Perform a QueryInterface call on this object, attempting to dynamically cast it to the requested interface type. Returns Some(RefPtr) if the cast succeeded, and None otherwise. Read more
impl RefCounted for nsIFactory
[src]
unsafe fn addref(&self)
[src]
Increment the reference count.
unsafe fn release(&self)
[src]
Decrement the reference count, potentially freeing backing memory.
impl Deref for nsIFactory
[src]
type Target = nsISupports
The resulting type after dereferencing.
fn deref(&self) -> &nsISupports
[src]
Dereferences the value.