Struct xpcom::interfaces::nsIRedirectChannelRegistrar
[−]
[src]
#[repr(C)]pub struct nsIRedirectChannelRegistrar { /* fields omitted */ }
interface nsIRedirectChannelRegistrar : nsISupports
/**
* Used on the chrome process as a service to join channel implementation
* and parent IPC protocol side under a unique id. Provides this way a generic
* communication while redirecting to various protocols.
*
* See also nsIChildChannel and nsIParentChannel.
*/
Methods
impl nsIRedirectChannelRegistrar
[src]
pub fn coerce<T: nsIRedirectChannelRegistrarCoerce>(&self) -> &T
[src]
Cast this nsIRedirectChannelRegistrar
to one of its base interfaces.
impl nsIRedirectChannelRegistrar
[src]
pub unsafe fn RegisterChannel(
&self,
channel: *const nsIChannel,
_retval: *mut uint32_t
) -> nsresult
[src]
&self,
channel: *const nsIChannel,
_retval: *mut uint32_t
) -> nsresult
/**
* Register the redirect target channel and obtain a unique ID for that
* channel.
*
* Primarily used in HttpChannelParentListener::AsyncOnChannelRedirect to get
* a channel id sent to the HttpChannelChild being redirected.
*/
uint32_t registerChannel (in nsIChannel channel);
pub unsafe fn LinkChannels(
&self,
id: uint32_t,
channel: *const nsIParentChannel,
_retval: *mut *const nsIChannel
) -> nsresult
[src]
&self,
id: uint32_t,
channel: *const nsIParentChannel,
_retval: *mut *const nsIChannel
) -> nsresult
/**
* First, search for the channel registered under the id. If found return
* it. Then, register under the same id the parent side of IPC protocol
* to let it be later grabbed back by the originator of the redirect and
* notifications from the real channel could be forwarded to this parent
* channel.
*
* Primarily used in parent side of an IPC protocol implementation
* in reaction to nsIChildChannel.connectParent(id) called from the child
* process.
*/
nsIChannel linkChannels (in uint32_t id, in nsIParentChannel channel);
pub unsafe fn GetRegisteredChannel(
&self,
id: uint32_t,
_retval: *mut *const nsIChannel
) -> nsresult
[src]
&self,
id: uint32_t,
_retval: *mut *const nsIChannel
) -> nsresult
/**
* Returns back the channel previously registered under the ID with
* registerChannel method.
*
* Primarilly used in chrome IPC side of protocols when attaching a redirect
* target channel to an existing 'real' channel implementation.
*/
nsIChannel getRegisteredChannel (in uint32_t id);
pub unsafe fn GetParentChannel(
&self,
id: uint32_t,
_retval: *mut *const nsIParentChannel
) -> nsresult
[src]
&self,
id: uint32_t,
_retval: *mut *const nsIParentChannel
) -> nsresult
/**
* Returns the stream listener that shall be attached to the redirect target
* channel, all notification from the redirect target channel will be
* forwarded to this stream listener.
*
* Primarilly used in HttpChannelParentListener::OnRedirectResult callback
* to grab the created parent side of the channel and forward notifications
* to it.
*/
nsIParentChannel getParentChannel (in uint32_t id);
pub unsafe fn DeregisterChannels(&self, id: uint32_t) -> nsresult
[src]
/**
* To not force all channel implementations to support weak reference
* consumers of this service must ensure release of registered channels them
* self. This releases both the real and parent channel registered under
* the id.
*
* Primarilly used in HttpChannelParentListener::OnRedirectResult callback.
*/
void deregisterChannels (in uint32_t id);
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 nsIRedirectChannelRegistrar
[src]
const IID: nsIID
IID: nsIID = nsID(4020465314, 23303, 18172, [149, 52, 165, 172, 184, 183, 123, 114])
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 nsIRedirectChannelRegistrar
[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 nsIRedirectChannelRegistrar
[src]
type Target = nsISupports
The resulting type after dereferencing.
fn deref(&self) -> &nsISupports
[src]
Dereferences the value.