Struct xpcom::interfaces::nsIAsyncShutdownBlocker
[−]
[src]
#[repr(C)]pub struct nsIAsyncShutdownBlocker { /* fields omitted */ }
interface nsIAsyncShutdownBlocker : nsISupports
/**
* A blocker installed by a client to be informed during some stage of
* shutdown and block shutdown asynchronously until some condition is
* complete.
*
* If you wish to use AsyncShutdown, you will need to implement this
* interface (and only this interface).
*/
Methods
impl nsIAsyncShutdownBlocker
[src]
pub fn coerce<T: nsIAsyncShutdownBlockerCoerce>(&self) -> &T
[src]
Cast this nsIAsyncShutdownBlocker
to one of its base interfaces.
impl nsIAsyncShutdownBlocker
[src]
pub unsafe fn GetName(&self, aName: &mut nsAString) -> nsresult
[src]
/**
* The *unique* name of the blocker.
*
* By convention, it should respect the following format:
* "MyModuleName: Doing something while it's time"
* e.g.
* "OS.File: Flushing before profile-before-change"
*
* This attribute is uploaded as part of crash reports.
*/
readonly attribute AString name;
pub unsafe fn BlockShutdown(
&self,
aBarrierClient: *const nsIAsyncShutdownClient
) -> nsresult
[src]
&self,
aBarrierClient: *const nsIAsyncShutdownClient
) -> nsresult
/**
* Inform the blocker that the stage of shutdown has started.
* Shutdown will NOT proceed until `aBarrierClient.removeBlocker(this)`
* has been called.
*/
void blockShutdown (in nsIAsyncShutdownClient aBarrierClient);
pub unsafe fn GetState(&self, aState: *mut *const nsIPropertyBag) -> nsresult
[src]
/**
* The current state of the blocker.
*
* In case of crash, this is converted to JSON and attached to
* the crash report.
*
* This field may be used to provide JSON-style data structures.
* For this purpose, use
* - nsIPropertyBag to represent objects;
* - nsIVariant to represent field values (which may hold nsIPropertyBag
* themselves).
*/
readonly attribute nsIPropertyBag state;
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 nsIAsyncShutdownBlocker
[src]
const IID: nsIID
IID: nsIID = nsID(1324629801, 26389, 19287, [167, 80, 47, 248, 54, 149, 221, 206])
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 nsIAsyncShutdownBlocker
[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 nsIAsyncShutdownBlocker
[src]
type Target = nsISupports
The resulting type after dereferencing.
fn deref(&self) -> &nsISupports
[src]
Dereferences the value.