⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nsiprotocolhandler.idl

📁 linux下的一款播放器
💻 IDL
字号:
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- *//* ***** BEGIN LICENSE BLOCK ***** * Version: NPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Netscape Public License * Version 1.1 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://www.mozilla.org/NPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is mozilla.org code. * * The Initial Developer of the Original Code is  * Netscape Communications Corporation. * Portions created by the Initial Developer are Copyright (C) 1998 * the Initial Developer. All Rights Reserved. * * Contributor(s): * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the NPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the NPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */#include "nsISupports.idl"interface nsIURI;interface nsIChannel;/** * nsIProtocolHandler * * @status FROZEN */[scriptable, uuid(15fd6940-8ea7-11d3-93ad-00104ba0fd40)]interface nsIProtocolHandler : nsISupports{    /**     * The scheme of this protocol (e.g., "file").     */    readonly attribute ACString scheme;    /**      * 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;    /**     * Returns the protocol specific flags (see flag definitions below).       */    readonly attribute unsigned long protocolFlags;    /**     * 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,                  in string aOriginCharset,                  in nsIURI aBaseURI);    /**     * Constructs a new channel from the given URI for this protocol handler.      */    nsIChannel newChannel(in nsIURI aURI);    /**     * 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);    /**************************************************************************     * Constants for the protocol flags (the first is the default mask, the     * others are deviations):     *     * NOTE: Implementation must ignore any flags they do not understand.     */    /**     * standard full URI with authority component and concept of relative     * URIs (http, ftp, ...)     */    const unsigned long URI_STD = 0;    /**     * no concept of relative URIs (about, javascript, finger, ...)     */    const unsigned long URI_NORELATIVE = (1<<0);    /**     * no authority component (file, ...)     */    const unsigned long URI_NOAUTH = (1<<1);    /**     * This protocol handler can be proxied via a proxy (socks or http)     * (e.g., irc, smtp, http, etc.).  If the protocol supports transparent     * proxying, the handler should implement nsIProxiedProtocolHandler.     *     * If it supports only HTTP proxying, then it need not support     * nsIProxiedProtocolHandler, but should instead set the ALLOWS_PROXY_HTTP     * flag (see below).     *     * @see nsIProxiedProtocolHandler     */    const unsigned long ALLOWS_PROXY = (1<<2);    /**     * This protocol handler can be proxied using a http proxy (e.g., http,     * ftp, etc.).  nsIIOService::newChannelFromURI will feed URIs from this     * protocol handler to the HTTP protocol handler instead.  This flag is     * ignored if ALLOWS_PROXY is not set.     */    const unsigned long ALLOWS_PROXY_HTTP = (1<<3);};%{C++/** * Protocol handlers are registered with XPCOM under the following CONTRACTID prefix: */#define NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "@mozilla.org/network/protocol;1?name="/** * For example, "@mozilla.org/network/protocol;1?name=http" */%}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -