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]

[src]

Cast this nsIRedirectChannelRegistrar to one of its base interfaces.

impl nsIRedirectChannelRegistrar
[src]

[src]

/**
   * 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);

[src]

/**
   * 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);

[src]

/**
   * 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);

[src]

/**
   * 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);

[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>

[src]

Cast this nsISupports to one of its base interfaces.

[src]

void QueryInterface (in nsIIDRef uuid, [iid_is (uuid), retval] out nsQIResult result);

[src]

[noscript,notxpcom] nsrefcnt AddRef ();

[src]

[noscript,notxpcom] nsrefcnt Release ();

Trait Implementations

impl XpCom for nsIRedirectChannelRegistrar
[src]

IID: nsIID = nsID(4020465314, 23303, 18172, [149, 52, 165, 172, 184, 183, 123, 114])

[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]

[src]

Increment the reference count.

[src]

Decrement the reference count, potentially freeing backing memory.

impl Deref for nsIRedirectChannelRegistrar
[src]

The resulting type after dereferencing.

[src]

Dereferences the value.