Struct xpcom::interfaces::nsIFileProtocolHandler [] [src]

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

interface nsIFileProtocolHandler : nsIProtocolHandler

Methods

impl nsIFileProtocolHandler
[src]

[src]

Cast this nsIFileProtocolHandler to one of its base interfaces.

impl nsIFileProtocolHandler
[src]

[src]

/**
     * This method constructs a new file URI
     *
     * @param aFile nsIFile
     * @return reference to a new nsIURI object
     */

nsIURI newFileURI (in nsIFile aFile);

[src]

/**
     * Converts the nsIFile to the corresponding URL string.  NOTE: under
     * some platforms this is a lossy conversion (e.g., Mac Carbon build).
     * If the nsIFile is a local file, then the result will be a file://
     * URL string.
     *
     * The resulting string may contain URL-escaped characters.
     * NOTE: Callers should use getURLSpecFromActualFile or
     * getURLSpecFromDirFile if possible, for performance reasons.
     */

AUTF8String getURLSpecFromFile (in nsIFile file);

[src]

/**
     * Converts the nsIFile to the corresponding URL string. Should
     * only be called on files which are not directories. Otherwise
     * identical to getURLSpecFromFile, but is usually more efficient.
     * WARNING: This restriction may not be enforced at runtime!
     */

AUTF8String getURLSpecFromActualFile (in nsIFile file);

[src]

/**
     * Converts the nsIFile to the corresponding URL string. Should
     * only be called on files which are directories. Otherwise
     * identical to getURLSpecFromFile, but is usually more efficient.
     * WARNING: This restriction may not be enforced at runtime!
     */

AUTF8String getURLSpecFromDir (in nsIFile file);

[src]

/**
     * Converts the URL string into the corresponding nsIFile if possible.
     * A local file will be created if the URL string begins with file://.
     */

nsIFile getFileFromURLSpec (in AUTF8String url);

[src]

/**
     * Takes a local file and tries to interpret it as an internet shortcut
     * (e.g. .url files on windows).
     * @param file The local file to read
     * @return The URI the file refers to
     *
     * @throw NS_ERROR_NOT_AVAILABLE if the OS does not support such files.
     * @throw NS_ERROR_NOT_AVAILABLE if this file is not an internet shortcut.
     */

nsIURI readURLFile (in nsIFile file);

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

IID: nsIID = nsID(531782613, 17236, 19917, [141, 151, 98, 27, 123, 62, 210, 228])

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

[src]

Increment the reference count.

[src]

Decrement the reference count, potentially freeing backing memory.

impl Deref for nsIFileProtocolHandler
[src]

The resulting type after dereferencing.

[src]

Dereferences the value.