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

📄 nsichannel.idl

📁 linux下的一款播放器
💻 IDL
字号:
/* -*- Mode: C++; tab-width: 4; 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 "nsIRequest.idl"interface nsIURI;interface nsIInterfaceRequestor;interface nsIInputStream;interface nsIStreamListener;/** * The nsIChannel interface allows clients to construct "GET" requests for * specific protocols, and manage them in a uniform way.  Once a channel is * created (via nsIIOService::newChannel), parameters for that request may * be set by using the channel attributes, or by QI'ing to a subclass of * nsIChannel for protocol-specific parameters.  Then, the URI can be fetched * by calling nsIChannel::open or nsIChannel::asyncOpen. * * After a request has been completed, the channel is still valid for accessing * protocol-specific results.  For example, QI'ing to nsIHttpChannel allows * response headers to be retrieved for the corresponding http transaction.  * * @status FROZEN */[scriptable, uuid(c63a055a-a676-4e71-bf3c-6cfa11082018)]interface nsIChannel : nsIRequest{    /**     * The original URI used to construct the channel. This is used in the case     * of a redirect or URI "resolution" (e.g. resolving a resource: URI to a     * file: URI) so that the original pre-redirect URI can still be obtained.      *     * NOTE: this is distinctly different from the http Referer (referring URI),     * which is typically the page that contained the original URI (accessible     * from nsIHttpChannel).     */    attribute nsIURI originalURI;    /**     * The URI corresponding to the channel.  Its value is immutable.     */    readonly attribute nsIURI URI;    /**     * The owner, corresponding to the entity that is responsible for this     * channel.  Used by the security manager to grant or deny privileges to     * mobile code loaded from this channel.     *     * NOTE: this is a strong reference to the owner, so if the owner is also     * holding a strong reference to the channel, care must be taken to      * explicitly drop its reference to the channel.     */    attribute nsISupports owner;    /**     * The notification callbacks for the channel.  This is set by clients, who     * wish to provide a means to receive progress, status and protocol-specific      * notifications.  If this value is NULL, the channel implementation may use     * the notification callbacks from its load group.     *      * Interfaces commonly requested include: nsIProgressEventSink, nsIPrompt,     * and nsIAuthPrompt.     */    attribute nsIInterfaceRequestor notificationCallbacks;    /**     * Transport-level security information (if any) corresponding to the channel.     */    readonly attribute nsISupports securityInfo;    /**     * The MIME type of the channel's content if available.      *      * NOTE: the content type can often be wrongly specified (e.g., wrong file     * extension, wrong MIME type, wrong document type stored on a server, etc.),     * and the caller most likely wants to verify with the actual data.      */    attribute ACString contentType;    /**     * The character set of the channel's content if available and if applicable.     * This attribute only applies to textual data.     */    attribute ACString contentCharset;    /**     * The length of the data associated with the channel if available.  A value     * of -1 indicates that the content length is unknown.     */    attribute long contentLength;    /**     * Synchronously open the channel.     *     * @return blocking input stream to the channel's data.     *     * NOTE: nsIChannel implementations are not required to implement this     * method.  Moreover, since this method may block the calling thread, it     * should not be called on a thread that processes UI events.     */    nsIInputStream open();    /**     * Asynchronously open this channel.  Data is fed to the specified stream     * listener as it becomes available.     *     * @param aListener the nsIStreamListener implementation     * @param aContext an opaque parameter forwarded to aListener's methods     */    void asyncOpen(in nsIStreamListener aListener, in nsISupports aContext);    /**************************************************************************     * Channel specific load flags:     *     * Bits 20-31 are reserved for future use by this interface or one of its     * derivatives (e.g., see nsICachingChannel).     */    /**     * Set (e.g., by the docshell) to indicate whether or not the channel     * corresponds to a document URI.     */    const unsigned long LOAD_DOCUMENT_URI = 1 << 16;    /**      * If the end consumer for this load has been retargeted after discovering      * it's content, this flag will be set:     */    const unsigned long LOAD_RETARGETED_DOCUMENT_URI = 1 << 17;    /**     * This flag is set to indicate that onStopRequest may be followed by     * another onStartRequest/onStopRequest pair.  This flag is, for example,     * used by the multipart/replace stream converter.     */	const unsigned long LOAD_REPLACE = 1 << 18;    /**     * Set (e.g., by the docshell) to indicate whether or not the channel     * corresponds to an initial document URI load (e.g., link click).     */    const unsigned long LOAD_INITIAL_DOCUMENT_URI = 1 << 19;};

⌨️ 快捷键说明

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