Struct xpcom::interfaces::nsISubstitutingProtocolHandler [] [src]

#[repr(C)]
pub struct nsISubstitutingProtocolHandler { /* fields omitted */ }

interface nsISubstitutingProtocolHandler : nsIProtocolHandler

/**
 * Protocol handler superinterface for a protocol which performs substitutions
 * from URIs of its scheme to URIs of another scheme.
 */

Methods

impl nsISubstitutingProtocolHandler
[src]

[src]

Cast this nsISubstitutingProtocolHandler to one of its base interfaces.

impl nsISubstitutingProtocolHandler
[src]

ALLOW_CONTENT_ACCESS: i64 = 1
/**
   * Content script may access files in this package.
   */

[src]

/**
   * Sets the substitution for the root key:
   *   resource://root/path ==> baseURI.resolve(path)
   *
   * A null baseURI removes the specified substitution.
   *
   * A root key should always be lowercase; however, this may not be
   * enforced.
   */

[must_use] void setSubstitution (in ACString root, in nsIURI baseURI);

[src]

/**
   * Same as setSubstitution, but with specific flags.
   */

[must_use] void setSubstitutionWithFlags (in ACString root, in nsIURI baseURI, in uint32_t flags);

[src]

/**
   * Gets the substitution for the root key.
   *
   * @throws NS_ERROR_NOT_AVAILABLE if none exists.
   */

[must_use] nsIURI getSubstitution (in ACString root);

[src]

/**
   * Returns TRUE if the substitution exists and FALSE otherwise.
   */

[must_use] boolean hasSubstitution (in ACString root);

[src]

/**
   * Utility function to resolve a substituted URI.  A resolved URI is not
   * guaranteed to reference a resource that exists (ie. opening a channel to
   * the resolved URI may fail).
   *
   * @throws NS_ERROR_NOT_AVAILABLE if resURI.host() is an unknown root key.
   */

[must_use] AUTF8String resolveURI (in nsIURI resURI);

[src]

/**
   * Adds an observer that will be notified on the main thread whenever a
   * substitition is set or unset. Notifications are not sent for substitutions
   * that were set prior to the observer being added. Holds an owning reference
   * to the observer until removeObserver is called or the protocol handler is
   * destroyed.
   */

[must_use] void addObserver (in nsISubstitutionObserver observer);

[src]

/**
   * Removes the observer.
   */

[must_use] void removeObserver (in nsISubstitutionObserver observer);

Methods from Deref<Target = nsIProtocolHandler>

[src]

Cast this nsIProtocolHandler to one of its base interfaces.

[src]

/**
     * The scheme of this protocol (e.g., "file").
     */

readonly attribute ACString scheme;

[src]

/**
     * The default port is the port that this protocol normally uses.
     * If a port does not make sense for the protocol (e.g., "about:")
     * then -1 will be returned.
     */

readonly attribute long defaultPort;

[src]

/**
     * Returns the protocol specific flags (see flag definitions below).
     */

readonly attribute unsigned long protocolFlags;

[src]

/**
     * Makes a URI object that is suitable for loading by this protocol,
     * where the URI string is given as an UTF-8 string.  The caller may
     * provide the charset from which the URI string originated, so that
     * the URI string can be translated back to that charset (if necessary)
     * before communicating with, for example, the origin server of the URI
     * string.  (Many servers do not support UTF-8 IRIs at the present time,
     * so we must be careful about tracking the native charset of the origin
     * server.)
     *
     * @param aSpec          - the URI string in UTF-8 encoding. depending
     *                         on the protocol implementation, unicode character
     *                         sequences may or may not be %xx escaped.
     * @param aOriginCharset - the charset of the document from which this URI
     *                         string originated.  this corresponds to the
     *                         charset that should be used when communicating
     *                         this URI to an origin server, for example.  if
     *                         null, then UTF-8 encoding is assumed (i.e.,
     *                         no charset transformation from aSpec).
     * @param aBaseURI       - if null, aSpec must specify an absolute URI.
     *                         otherwise, aSpec may be resolved relative
     *                         to aBaseURI, depending on the protocol.
     *                         If the protocol has no concept of relative
     *                         URI aBaseURI will simply be ignored.
     */

nsIURI newURI (in AUTF8String aSpec, [optional] in string aOriginCharset, [optional] in nsIURI aBaseURI);

[src]

/**
     * Constructs a new channel from the given URI for this protocol handler and
     * sets the loadInfo for the constructed channel.
     */

nsIChannel newChannel2 (in nsIURI aURI, in nsILoadInfo aLoadinfo);

[src]

/**
     * Constructs a new channel from the given URI for this protocol handler.
     */

nsIChannel newChannel (in nsIURI aURI);

[src]

/**
     * Allows a protocol to override blacklisted ports.
     *
     * This method will be called when there is an attempt to connect to a port
     * that is blacklisted.  For example, for most protocols, port 25 (Simple Mail
     * Transfer) is banned.  When a URI containing this "known-to-do-bad-things"
     * port number is encountered, this function will be called to ask if the
     * protocol handler wants to override the ban.
     */

boolean allowPort (in long port, in string scheme);

Trait Implementations

impl XpCom for nsISubstitutingProtocolHandler
[src]

IID: nsIID = nsID(357328125, 42654, 16645, [137, 248, 189, 125, 254, 98, 19, 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 nsISubstitutingProtocolHandler
[src]

[src]

Increment the reference count.

[src]

Decrement the reference count, potentially freeing backing memory.

impl Deref for nsISubstitutingProtocolHandler
[src]

The resulting type after dereferencing.

[src]

Dereferences the value.