Struct xpcom::interfaces::nsIInterfaceRequestor
[−]
[src]
#[repr(C)]pub struct nsIInterfaceRequestor { /* fields omitted */ }
interface nsIInterfaceRequestor : nsISupports
/**
* 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.
*/
Methods
impl nsIInterfaceRequestor
[src]
pub fn coerce<T: nsIInterfaceRequestorCoerce>(&self) -> &T
[src]
Cast this nsIInterfaceRequestor
to one of its base interfaces.
impl nsIInterfaceRequestor
[src]
pub unsafe fn GetInterface(
&self,
uuid: &nsIID,
result: *mut *mut c_void
) -> nsresult
[src]
&self,
uuid: &nsIID,
result: *mut *mut c_void
) -> nsresult
/**
* Retrieves the specified interface pointer.
*
* @param uuid The IID of the interface being requested.
* @param result [out] The interface pointer to be filled in if
* the interface is accessible.
* @throws NS_NOINTERFACE - interface not accessible.
* @throws NS_ERROR* - method failure.
*/
void getInterface (in nsIIDRef uuid, [iid_is (uuid), retval] out nsQIResult result);
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 nsIInterfaceRequestor
[src]
const IID: nsIID
IID: nsIID = nsID(54137968, 35626, 4563, [175, 136, 0, 160, 36, 255, 192, 140])
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 nsIInterfaceRequestor
[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 nsIInterfaceRequestor
[src]
type Target = nsISupports
The resulting type after dereferencing.
fn deref(&self) -> &nsISupports
[src]
Dereferences the value.