cleaning up documentation, marking some interfaces frozen, and splitting

up some interfaces into separate IDL files (b=124465)
reviewed by dougt and bbaetz
This commit is contained in:
darin%netscape.com 2002-05-03 07:49:43 +00:00
Родитель d175c2bb6a
Коммит 040ddbbf28
58 изменённых файлов: 638 добавлений и 588 удалений

Просмотреть файл

@ -30,6 +30,7 @@
#include "nsDocShell.h"
#include "nsICommandManager.h"
class nsIEventQueue;
class nsIController;
struct PRThread;

Просмотреть файл

@ -47,6 +47,7 @@
#include "nsXPIDLString.h"
#include "nsIMsgMessageService.h"
#include "nsMsgUtils.h"
#include "netCore.h"
static NS_DEFINE_CID(kRDFServiceCID, NS_RDFSERVICE_CID);
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);

Просмотреть файл

@ -39,6 +39,7 @@
* The offline manager service - manages going online and offline, and synchronization
*/
#include "msgCore.h"
#include "netCore.h"
#include "nsMsgOfflineManager.h"
#include "nsIServiceManager.h"
#include "nsISupportsArray.h"

Просмотреть файл

@ -61,6 +61,7 @@
#include "nsICharsetConverterManager2.h"
#include "nsIChannel.h"
#include "nsIRequestObserver.h"
#include "netCore.h"
#include "plbase64.h"
#include "nsMsgI18N.h"

Просмотреть файл

@ -54,6 +54,7 @@
#include "nsMsgLocalFolderHdrs.h"
#include "nsNetCID.h"
#include "nsIHttpProtocolHandler.h"
#include "nsIRequest.h"
#include "nsMsgKeyArray.h"
#include "nsISmtpService.h" // for actually sending the message...
#include "nsMsgCompCID.h"

Просмотреть файл

@ -44,6 +44,8 @@
#include "msgCore.h"
#include "nsMsgImapCID.h"
#include "netCore.h"
#include "nsString.h"
#include "nsReadableUtils.h"

Просмотреть файл

@ -36,6 +36,7 @@
* ***** END LICENSE BLOCK ***** */
#include "msgCore.h"
#include "netCore.h"
#include "nsImapOfflineSync.h"
#include "nsImapMailFolder.h"
#include "nsMsgFolderFlags.h"

Просмотреть файл

@ -65,6 +65,7 @@
#include "plbase64.h"
#include "nsIImapService.h"
#include "nsISocketTransportService.h"
#include "nsIStreamListenerTee.h"
#include "nsNetUtil.h"
#include "nsXPIDLString.h"
#include "nsReadableUtils.h"

Просмотреть файл

@ -39,6 +39,8 @@
#include "msgCore.h" // precompiled header...
#include "nsMsgImapCID.h"
#include "netCore.h"
#include "nsIServiceManager.h"
#include "nsIComponentManager.h"
@ -76,6 +78,7 @@
#include "nsIMsgHdr.h"
#include "nsMsgUtils.h"
#include "nsICacheService.h"
#include "nsIStreamListenerTee.h"
#include "nsNetCID.h"
#include "nsMsgUtf7Utils.h"
#include "nsIOutputStream.h"

Просмотреть файл

@ -113,6 +113,7 @@
#include "nsINntpService.h"
#include "nntpCore.h"
#include "nsIStreamConverterService.h"
#include "nsIStreamListenerTee.h"
#include <time.h>

Просмотреть файл

@ -37,6 +37,7 @@
#include "msgCore.h"
#include "nntpCore.h"
#include "netCore.h"
#include "nsXPIDLString.h"
#include "nsIMsgNewsFolder.h"
#include "nsIStringBundle.h"

Просмотреть файл

@ -37,6 +37,8 @@
#include "nsIURI.h"
#include "nsXPIDLString.h"
#include "netCore.h"
#include "imgCache.h"
#include "imgRequest.h"
#include "imgRequestProxy.h"

Просмотреть файл

@ -32,6 +32,8 @@
#include "gfxIImageFrame.h"
#include "netCore.h"
#include "nsIChannel.h"
#include "nsICachingChannel.h"
#include "nsILoadGroup.h"

Просмотреть файл

@ -8,3 +8,4 @@ nsUnixColorPrintf.h
nsReadLine.h
nsIPasswordManagerUtils.h
nsCPasswordManager.h
nsCPasswordManagerInternal.h

Просмотреть файл

@ -25,6 +25,8 @@ nsISocketTransportService.idl
nsIStreamIO.idl
nsIStreamIOChannel.idl
nsIStreamListener.idl
nsIStreamListenerProxy.idl
nsIStreamListenerTee.idl
nsIFileStreams.idl
nsITransport.idl
nsIStreamLoader.idl
@ -33,7 +35,10 @@ nsIResumableChannel.idl
nsIResumableEntityID.idl
nsIRequestObserver.idl
nsIRequestObserverProxy.idl
nsISimpleStreamListener.idl
nsISimpleStreamProvider.idl
nsIStreamProvider.idl
nsIStreamProviderProxy.idl
nsIUploadChannel.idl
nsIURI.idl
nsIURIChecker.idl

Просмотреть файл

@ -65,7 +65,12 @@ XPIDLSRCS = \
nsIRequestObserver.idl \
nsIRequestObserverProxy.idl \
nsIStreamListener.idl \
nsIStreamListenerProxy.idl \
nsIStreamListenerTee.idl \
nsIStreamProvider.idl \
nsIStreamProviderProxy.idl \
nsISimpleStreamListener.idl \
nsISimpleStreamProvider.idl \
nsIStreamLoader.idl \
nsIUploadChannel.idl \
nsIURI.idl \
@ -90,6 +95,7 @@ EXPORTS = \
nsUnixColorPrintf.h \
nsReadLine.h \
nsCPasswordManager.h \
nsCPasswordManagerInternal.h \
$(NULL)
PREF_JS_EXPORTS = $(srcdir)/security-prefs.js

Просмотреть файл

@ -1,100 +0,0 @@
#!gmake
#
# 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 Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
MODULE = necko
DEPTH = ..\..\..
include <$(DEPTH)/config/config.mak>
EXPORTS = \
netCore.h \
nsNetUtil.h \
nsUnixColorPrintf.h \
nsReadLine.h \
nsCPasswordManager.h \
$(NULL)
XPIDLSRCS = \
.\nsIAuthenticator.idl \
.\nsIAuthPrompt.idl \
.\nsIChannel.idl \
.\nsIDirectoryListing.idl \
.\nsIFileChannel.idl \
.\nsIFileStreams.idl \
.\nsIFileTransportService.idl \
.\nsIIOService.idl \
.\nsILoadGroup.idl \
.\nsIMIMEInputStream.idl \
.\nsINetModRegEntry.idl \
.\nsINetModuleMgr.idl \
.\nsINetNotify.idl \
.\nsIPasswordManager.idl \
.\nsIPasswordManagerInternal.idl \
.\nsIProgressEventSink.idl \
.\nsIPrompt.idl \
.\nsIProtocolHandler.idl \
.\nsIProtocolProxyService.idl \
.\nsIProxiedProtocolHandler.idl \
.\nsIProxyAutoConfig.idl \
.\nsIProxyAutoConfigUtils.idl \
.\nsIProxyInfo.idl \
.\nsIProxy.idl \
.\nsIRequest.idl \
.\nsITransport.idl \
.\nsISocketTransport.idl \
.\nsISocketTransportService.idl \
.\nsIStreamIO.idl \
.\nsIStreamIOChannel.idl \
.\nsIResumableChannel.idl \
.\nsIResumableEntityID.idl \
.\nsIRequestObserver.idl \
.\nsIRequestObserverProxy.idl \
.\nsIStreamListener.idl \
.\nsIStreamProvider.idl \
.\nsIStreamLoader.idl \
.\nsIStreamProvider.idl \
.\nsITransport.idl \
.\nsIDownloader.idl \
.\nsIUploadChannel.idl \
.\nsIURI.idl \
.\nsIURIChecker.idl \
.\nsIURL.idl \
.\nsIURLParser.idl \
.\nsIFileURL.idl \
.\nsIStandardURL.idl \
.\nsIWebFilters.idl \
.\nsISecurityEventSink.idl \
.\nsISecretDecoderRing.idl \
.\nsISecureBrowserUI.idl \
.\nsISecurityManagerComponent.idl \
.\nsICachingChannel.idl \
.\nsIByteRangeRequest.idl \
.\nsIMultiPartChannel.idl \
$(NULL)
include <$(DEPTH)/config/rules.mak>
$(DEPTH)\netwerk\dist\include:
-mkdir $(DEPTH)\netwerk\dist
-mkdir $(DEPTH)\netwerk\dist\include
libs::
$(MAKE_INSTALL) .\security-prefs.js $(DIST)\bin\defaults\pref

Просмотреть файл

@ -51,6 +51,17 @@
// XXX Why can't we put all Netwerk error codes in one file to help avoid collisions?
// Generic status codes for OnStopRequest:
#define NS_BINDING_SUCCEEDED NS_OK
#define NS_BINDING_FAILED NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 1)
#define NS_BINDING_ABORTED NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 2)
// The binding has been moved to another request in the same load group:
#define NS_BINDING_REDIRECTED NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 3)
// The binding has been moved to another request in a different load group:
#define NS_BINDING_RETARGETED NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 4)
#define NS_ERROR_MALFORMED_URI \
NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 10)

Просмотреть файл

@ -54,9 +54,9 @@ interface nsIStreamListener;
* protocol-specific results. For example, QI'ing to nsIHttpChannel allows
* response headers to be retrieved for the corresponding http transaction.
*
* @status UNDER_REVIEW
* @status FROZEN
*/
[scriptable, uuid(1788e79e-f947-11d3-8cda-0060b0fc14a3)]
[scriptable, uuid(c63a055a-a676-4e71-bf3c-6cfa11082018)]
interface nsIChannel : nsIRequest
{
/**
@ -124,9 +124,13 @@ interface nsIChannel : nsIRequest
attribute long contentLength;
/**
* Synchronously open the channel.
* 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();
@ -155,10 +159,10 @@ interface nsIChannel : nsIRequest
*/
const unsigned long LOAD_RETARGETED_DOCUMENT_URI = 1 << 17;
/**
* This flag is set to indicate that onStopRequest may be followed by
/**
* 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;
};

Просмотреть файл

@ -20,7 +20,7 @@
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Darin Fisher <darin@netscape.com>
* Darin Fisher <darin@netscape.com> (extracted from nsIFileChannel.idl)
*
* 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
@ -43,6 +43,8 @@ interface nsIFile;
/**
* nsIFileURL is used for the file: protocol, and gives access to the
* underlying nsIFile object.
*
* @status UNDER_REVIEW
*/
[scriptable, uuid(d26b2e2e-1dd1-11b2-88f3-8545a7ba7949)]
interface nsIFileURL : nsIURL

Просмотреть файл

@ -42,11 +42,11 @@ interface nsIRequestObserver;
interface nsIInterfaceRequestor;
/**
* A load group maintains a collection of active URL requests.
* A load group maintains a collection of nsIRequest objects.
*
* @status UNDER_REVIEW
* @status FROZEN
*/
[scriptable, uuid(19845248-29ab-11d3-8cce-0060b0fc14a3)]
[scriptable, uuid(3de0a31c-feaf-400f-9f1e-4ef71f8b20cc)]
interface nsILoadGroup : nsIRequest
{
/**
@ -75,16 +75,16 @@ interface nsILoadGroup : nsIRequest
* request is null, then the load group will inherit its load flags from
* the request.
*/
void addRequest(in nsIRequest request,
in nsISupports ctxt);
void addRequest(in nsIRequest aRequest,
in nsISupports aContext);
/**
* Removes a request from the group. If this is a foreground request
* then the groupObserver's onStopRequest will be called.
*/
void removeRequest(in nsIRequest request,
in nsISupports ctxt,
in nsresult status);
void removeRequest(in nsIRequest aRequest,
in nsISupports aContext,
in nsresult aStatus);
/**
* Returns the requests contained directly in this group.

Просмотреть файл

@ -36,69 +36,32 @@
* ***** END LICENSE BLOCK ***** */
#include "nsISupports.idl"
#include "nsIChannel.idl"
interface nsIURI;
interface nsIChannel;
/**
* nsIProtocolHandler
*
* @status FROZEN
*/
[scriptable, uuid(15fd6940-8ea7-11d3-93ad-00104ba0fd40)]
interface nsIProtocolHandler : nsISupports
{
/**
* Returns the scheme of this protocol (e.g., "http").
* The scheme of this protocol (e.g., "file").
*/
readonly attribute ACString scheme;
/**
* Default Port will be the port that this protocol normally
* uses. If a port does not make sense for the protocol (e.g., "about:")
* 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;
/*************************************************************************
* Constants for the protocol flags (the first is the default mask, the
* others are deviations):
*/
/**
* 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)
* (ie 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 an http proxy (ie http,
* ftp, etc). nsIIOService::newChannelFromURI will feed URIs from this
* protocol handler to the HTTP protocol handler instead. You need to
* have ALLOWS_PROXY set as well, if you want this to do anything.
*/
const unsigned long ALLOWS_PROXY_HTTP = (1<<3);
/**
* Returns the protocol specific flags.
* Returns the protocol specific flags (see flag definitions below).
*/
readonly attribute unsigned long protocolFlags;
@ -108,9 +71,9 @@ interface nsIProtocolHandler : nsISupports
* 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,
* 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.
* server.)
*
* @param aSpec - the URI string in UTF-8 encoding. depending
* on the protocol implementation, unicode character
@ -137,13 +100,58 @@ interface nsIProtocolHandler : nsISupports
/**
* Allows a protocol to override blacklisted ports.
*
* |allowPort| will be called when there is an attempt to connect to a port
* 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++

Просмотреть файл

@ -44,9 +44,9 @@ typedef unsigned long nsLoadFlags;
/**
* nsIRequest
*
* @status UNDER_REVIEW
* @status FROZEN
*/
[scriptable, uuid(F2CAABA0-2F25-11d3-A164-0050041CAF44)]
[scriptable, uuid(ef6bfbd2-fd46-48d8-96b7-9f8f0fd387fe)]
interface nsIRequest : nsISupports
{
/**

Просмотреть файл

@ -42,7 +42,7 @@ interface nsIRequest;
/**
* nsIRequestObserver
*
* @status UNDER_REVIEW
* @status FROZEN
*/
[scriptable, uuid(fd91e2e0-1481-11d3-9333-00104ba0fd40)]
interface nsIRequestObserver : nsISupports
@ -50,40 +50,26 @@ interface nsIRequestObserver : nsISupports
/**
* Called to signify the beginning of an asynchronous request.
*
* @param request - request being observed
* @param ctxt - user defined context
* @param aRequest request being observed
* @param aContext user defined context
*
* A failure code returned from onStartRequest has the side-effect of
* An exception thrown from onStartRequest has the side-effect of
* causing the request to be canceled.
*/
void onStartRequest(in nsIRequest request,
in nsISupports ctxt);
void onStartRequest(in nsIRequest aRequest,
in nsISupports aContext);
/**
* Called to signify the end of an asynchronous request. This
* call is always preceded by a call to onStartRequest.
*
* @param request - request being observed
* @param ctxt - user defined context
* @param statusCode - reason for stopping (NS_OK if completed successfully)
* @param aRequest request being observed
* @param aContext user defined context
* @param aStatusCode reason for stopping (NS_OK if completed successfully)
*
* A failure code returned from onStopRequest is generally ignored.
* An exception thrown from onStopRequest is generally ignored.
*/
void onStopRequest(in nsIRequest request,
in nsISupports ctxt,
in nsresult statusCode);
void onStopRequest(in nsIRequest aRequest,
in nsISupports aContext,
in nsresult aStatusCode);
};
%{C++
// Generic status codes for OnStopRequest:
#define NS_BINDING_SUCCEEDED NS_OK
#define NS_BINDING_FAILED NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 1)
#define NS_BINDING_ABORTED NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 2)
// The binding has been moved to another request in the same load group;
// the request observer should expect another On{Start/Stop}Request pair:
#define NS_BINDING_REDIRECTED NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 3)
// The binding has been moved to another request in a different load group:
#define NS_BINDING_RETARGETED NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 4)
%}

Просмотреть файл

@ -0,0 +1,57 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla 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/MPL/
*
* 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.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2002
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Darin Fisher <darin@netscape.com> (original author)
*
* 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 MPL, 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 MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include "nsIStreamListener.idl"
interface nsIOutputStream;
/**
* A simple stream listener can be used with AsyncRead to supply data to
* a output stream.
*/
[scriptable, uuid(a9b84f6a-0824-4278-bae6-bfca0570a26e)]
interface nsISimpleStreamListener : nsIStreamListener
{
/**
* Initialize the simple stream listener.
*
* @param aSink data will be read from the channel to this output stream
* @param aObserver optional stream observer (can be NULL)
*/
void init(in nsIOutputStream aSink,
in nsIRequestObserver aObserver);
};

Просмотреть файл

Просмотреть файл

@ -47,6 +47,8 @@ interface nsIURI;
* implement only the set of accessors specified by nsIURL. After obtaining the
* instance from the component manager, the Init routine must be called on the
* new instance to initialize it from the user's URL spec.
*
* @status UNDER_REVIEW
*/
[scriptable, uuid(8793370a-311f-11d4-9876-00c04fa0cf4a)]
interface nsIStandardURL : nsISupports

Просмотреть файл

@ -43,6 +43,9 @@ interface nsIStreamIO;
/**
* nsIStreamIOChannel specializes nsIChannel to allow a simple channel to be
* constructed from an nsIStreamIO object and a URL.
*
* XXX a channel can only be read, so it seems strange to use "I/O" in the
* name of this channel.
*/
[scriptable, uuid(308362ce-0d06-11d4-986e-00c04fa0cf4a)]
interface nsIStreamIOChannel : nsIChannel

Просмотреть файл

@ -37,111 +37,33 @@
#include "nsIRequestObserver.idl"
interface nsIRequest;
interface nsIInputStream;
interface nsIOutputStream;
interface nsIEventQueue;
/**
* The nsIChannel::AsyncRead notification handler. It accepts
* data from the channel, when the channel is ready to provide it.
* nsIStreamListener
*
* @status FROZEN
*/
[scriptable, uuid(1a637020-1482-11d3-9333-00104ba0fd40)]
interface nsIStreamListener : nsIRequestObserver
{
/**
* Called when there is data to be read from the channel.
* Called when the next chunk of data (corresponding to the request) may
* be read without blocking the calling thread. The onDataAvailable impl
* must read exactly |aCount| bytes of data before returning.
*
* @param request - the request returned by AsyncRead
* @param ctxt - opaque parameter passed to AsyncRead
* @param input - temporary input stream for reading data chunk
* @param offset - current stream position (informational)
* @param count - number of bytes that can be read without blocking
* @param aRequest request corresponding to the source of the data
* @param aContext user defined context
* @param aInputStream input stream containing the data chunk
* @param aOffset current stream position
* @param aCount number of bytes available in the stream
*
* @return NS_OK - if successfully read something.
* @return NS_BASE_STREAM_CLOSED - if done reading data. NOTE: this is
* NOT equivalent to reading zero bytes and returning NS_OK.
* @return NS_BASE_STREAM_WOULD_BLOCK - if no data can be read at
* this time. This implicitly calls Suspend on the channel. Call
* Resume on the channel to continue the AsyncRead when more data
* becomes available.
* @return <other-error> - if failure.
* An exception thrown from onDataAvailable has the side-effect of
* causing the request to be canceled.
*/
void onDataAvailable(in nsIRequest request,
in nsISupports ctxt,
in nsIInputStream input,
in unsigned long offset,
in unsigned long count);
};
/**
* A stream listener proxy is used to ship data over to another thread specified
* by the thread's event queue. The "true" stream listener's methods are
* invoked on the other thread.
*
* This interface only provides the initialization needed after construction.
* Otherwise, these objects may be used as a nsIStreamListener.
*/
[scriptable, uuid(e400e688-6b54-4a84-8c4e-56b40281981a)]
interface nsIStreamListenerProxy : nsIStreamListener
{
/**
* Initializes an nsIStreamListenerProxy.
*
* @param listener - receives listener notifications on the other thread
* @param eventQ - may be NULL indicating the calling thread's event queue
* @param bufferSegmentSize - passing zero indicates the default
* @param bufferMaxSize - passing zero indicates the default
*/
void init(in nsIStreamListener listener,
in nsIEventQueue eventQ,
in unsigned long bufferSegmentSize,
in unsigned long bufferMaxSize);
};
/**
* A simple stream listener can be used with AsyncRead to supply data to
* a output stream.
*/
[scriptable, uuid(a9b84f6a-0824-4278-bae6-bfca0570a26e)]
interface nsISimpleStreamListener : nsIStreamListener
{
/**
* Initialize the simple stream listener.
*
* @param sink - data will be read from the channel to this output stream
* @param observer - optional stream observer (can be NULL)
*/
void init(in nsIOutputStream sink,
in nsIRequestObserver observer);
};
/**
* An asynchronous stream listener is used to ship data over to another thread specified
* by the thread's event queue. The receiver stream listener is then used to receive
* the notifications on the other thread.
*
* This interface only provides the initialization needed after construction. Otherwise,
* these objects are used simply as nsIStreamListener.
*/
[scriptable, uuid(1b012ade-91bf-11d3-8cd9-0060b0fc14a3)]
interface nsIAsyncStreamListener : nsIStreamListener
{
/**
* Initializes an nsIAsyncStreamListener.
* @param eventQueue - may be null indicating the calling thread's event queue
*/
void init(in nsIStreamListener receiver,
in nsIEventQueue eventQueue);
};
/**
* As data "flows" into a stream listener tee, it is copied to the output stream
* and then forwarded onto the real listener.
*/
[scriptable, uuid(fb683e76-d42b-41a4-8ae6-65a6c2b146e5)]
interface nsIStreamListenerTee : nsIStreamListener
{
void init(in nsIStreamListener listener,
in nsIOutputStream sink);
void onDataAvailable(in nsIRequest aRequest,
in nsISupports aContext,
in nsIInputStream aInputStream,
in unsigned long aOffset,
in unsigned long aCount);
};

Просмотреть файл

@ -0,0 +1,88 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla 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/MPL/
*
* 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.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2002
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Darin Fisher <darin@netscape.com> (original author)
*
* 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 MPL, 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 MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include "nsIStreamListener.idl"
interface nsIEventQueue;
/**
* A stream listener proxy is used to ship data over to another thread specified
* by the thread's event queue. The "true" stream listener's methods are
* invoked on the other thread.
*
* This interface only provides the initialization needed after construction.
* Otherwise, these objects are used as nsIStreamListener.
*/
[scriptable, uuid(e400e688-6b54-4a84-8c4e-56b40281981a)]
interface nsIStreamListenerProxy : nsIStreamListener
{
/**
* Initializes an nsIStreamListenerProxy.
*
* @param aListener receives listener notifications on the other thread
* @param aEventQ may be NULL indicating the calling thread's event queue
* @param aBufferSegmentSize passing zero indicates the default
* @param aBufferMaxSize passing zero indicates the default
*/
void init(in nsIStreamListener aListener,
in nsIEventQueue aEventQ,
in unsigned long aBufferSegmentSize,
in unsigned long aBufferMaxSize);
};
/**
* THIS INTERFACE IS DEPRACATED
*
* An asynchronous stream listener is used to ship data over to another thread specified
* by the thread's event queue. The receiver stream listener is then used to receive
* the notifications on the other thread.
*
* This interface only provides the initialization needed after construction. Otherwise,
* these objects are used simply as nsIStreamListener.
*/
[scriptable, uuid(1b012ade-91bf-11d3-8cd9-0060b0fc14a3)]
interface nsIAsyncStreamListener : nsIStreamListener
{
/**
* Initializes an nsIAsyncStreamListener.
*
* @param aReceiver receives listener notifications on the other thread
* @param aEventQ may be null indicating the calling thread's event queue
*/
void init(in nsIStreamListener aReceiver,
in nsIEventQueue aEventQ);
};

Просмотреть файл

@ -0,0 +1,51 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla 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/MPL/
*
* 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.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2002
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Darin Fisher <darin@netscape.com> (original author)
*
* 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 MPL, 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 MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include "nsIStreamListener.idl"
interface nsIOutputStream;
/**
* As data "flows" into a stream listener tee, it is copied to the output stream
* and then forwarded to the real listener.
*/
[scriptable, uuid(fb683e76-d42b-41a4-8ae6-65a6c2b146e5)]
interface nsIStreamListenerTee : nsIStreamListener
{
void init(in nsIStreamListener listener,
in nsIOutputStream sink);
};

Просмотреть файл

@ -75,14 +75,4 @@ interface nsIStreamLoader : nsISupports
* Gets the request that loaded this file
*/
readonly attribute nsIRequest request;
};
%{C++
#define NS_STREAMLOADER_CID \
{ /* 5BA6D920-D4E9-11d3-A1A5-0050041CAF44 */ \
0x5ba6d920, 0xd4e9, 0x11d3, { 0xa1, 0xa5, 0x0, 0x50, 0x4, 0x1c, 0xaf, 0x44 } \
}
%}

Просмотреть файл

@ -1,121 +0,0 @@
/* -*- 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 "nsISupports.idl"
interface nsIRequest;
interface nsIEventQueue;
/**
* nsIStreamObserver
*
* @status UNDER_REVIEW
*/
[scriptable, uuid(fd91e2e0-1481-11d3-9333-00104ba0fd40)]
interface nsIStreamObserver : nsISupports
{
/**
* Called to signify the beginning of an asynchronous request.
*
* @param request - request being observed
* @param ctxt - user specified data passed to AsyncRead/Write
*/
void onStartRequest(in nsIRequest request,
in nsISupports ctxt);
/**
* Called to signify the end of an asynchronous request. This
* call is always preceded by a call to onStartRequest.
*
* @param request - request being observed
* @param ctxt - user specified data passed to AsyncRead/Write
* @param statusCode - reason for stopping (NS_OK if completed successfully)
* @param statusText - human readable reason for stopping (can be NULL)
*/
void onStopRequest(in nsIRequest request,
in nsISupports ctxt,
in nsresult statusCode,
in wstring statusText);
};
/**
* A stream observer proxy is used to ship data over to another thread specified
* by the thread's event queue. The "true" stream observer's methods are
* invoked on the other thread.
*
* This interface only provides the initialization needed after construction. Otherwise,
* these objects are used simply as nsIStreamObserver's.
*/
[scriptable, uuid(3c9b532e-db84-4ecf-aa6a-4d38a9c4c5f0)]
interface nsIStreamObserverProxy : nsIStreamObserver
{
/**
* Initializes an nsIStreamObserverProxy.
*
* @param observer - receives observer notifications on the other thread
* @param eventQ - may be NULL indicating the calling thread's event queue
*/
void init(in nsIStreamObserver observer,
in nsIEventQueue eventQ);
};
/**
* An asynchronous stream observer is used to ship data over to another thread specified
* by the thread's event queue. The receiver stream observer is then used to receive
* the notifications on the other thread.
*
* This interface only provides the initialization needed after construction. Otherwise,
* these objects are used simply as nsIStreamObservers.
*/
[scriptable, uuid(a28dc590-91b3-11d3-8cd9-0060b0fc14a3)]
interface nsIAsyncStreamObserver : nsIStreamObserver
{
/**
* Initializes an nsIAsyncStreamObserver.
* @param eventQueue - may be null indicating the calling thread's event queue
*/
void init(in nsIStreamObserver receiver,
in nsIEventQueue eventQueue);
};
%{C++
// Generic status codes for OnStopRequest:
#define NS_BINDING_SUCCEEDED NS_OK
#define NS_BINDING_FAILED NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 1)
#define NS_BINDING_ABORTED NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 2)
%}

Просмотреть файл

@ -37,14 +37,10 @@
#include "nsIRequestObserver.idl"
interface nsIChannel;
interface nsIInputStream;
interface nsIOutputStream;
interface nsIEventQueue;
/**
* The nsIChannel::AsyncWrite notification handler. It provides
* data to the channel, when the channel is ready to accept it.
* nsIStreamProvider
*/
[scriptable, uuid(d10ef7a9-b728-43d4-9c49-74172186d691)]
interface nsIStreamProvider : nsIRequestObserver
@ -52,64 +48,18 @@ interface nsIStreamProvider : nsIRequestObserver
/**
* Called when data may be written to the channel.
*
* @param request - the request returned by AsyncWrite
* @param ctxt - opaque parameter passed to AsyncWrite
* @param output - output stream for writing data chunk
* @param offset - current stream position (informational)
* @param count - number of bytes that can be written without blocking
* @param aRequest request returned by AsyncWrite
* @param aContext opaque parameter passed to AsyncWrite
* @param aOutputStream output stream for writing data chunk
* @param aOffset current stream position (informational)
* @param aCount number of bytes that can be written without blocking
*
* @return NS_OK - if successfully wrote something.
* @return NS_BASE_STREAM_CLOSED - if done writing data. NOTE: this is
* NOT equivalent to writing zero bytes and returning NS_OK.
* @return NS_BASE_STREAM_WOULD_BLOCK - if no data can be written at
* this time. This implicitly calls Suspend on the channel. Call
* Resume on the channel to continue the AsyncWrite when more data
* becomes available.
* @return <other-error> - if failure.
* An exception thrown from onDataWritable has the side-effect of
* causing the request to be canceled.
*/
void onDataWritable(in nsIRequest request,
in nsISupports ctxt,
in nsIOutputStream output,
in unsigned long offset,
in unsigned long count);
};
/**
* A stream provider proxy is used to ship data over to another thread specified
* by the thread's event queue. The "true" stream provider's methods are
* invoked on the other thread.
*
* This interface only provides the initialization needed after construction.
* Otherwise, these objects may be used as a nsIStreamProvider.
*/
[scriptable, uuid(5c3b0bac-605a-49ac-880e-5c8b993f7d2b)]
interface nsIStreamProviderProxy : nsIStreamProvider
{
/**
* Initializes an nsIStreamProviderProxy.
*
* @param provider - receives provider notifications on the other thread.
* @param eventQ - may be NULL indicating the calling thread's event queue.
*/
void init(in nsIStreamProvider provider,
in nsIEventQueue eventQ,
in unsigned long bufferSegmentSize,
in unsigned long bufferMaxSize);
};
/**
* A simple stream provider can be used with AsyncWrite to supply data from
* an existing input stream.
*/
[scriptable, uuid(c20bb3b9-0755-4eff-9222-3537f9e89082)]
interface nsISimpleStreamProvider : nsIStreamProvider
{
/**
* Initialize the simple stream provider.
*
* @param - data will be read from this input stream to the channel
* @param - optional stream observer (can be NULL)
*/
void init(in nsIInputStream source,
in nsIRequestObserver observer);
void onDataWritable(in nsIRequest aRequest,
in nsISupports aContext,
in nsIOutputStream aOutputStream,
in unsigned long aOffset,
in unsigned long aCount);
};

Просмотреть файл

Просмотреть файл

@ -88,7 +88,7 @@
* knowledge of the underlying charset or there is no plan to display (or
* otherwise enforce a charset on) the resulting URI substring.
*
* @status UNDER_REVIEW
* @status FROZEN
*/
[scriptable, uuid(07a22cc0-0ce5-11d3-9331-00104ba0fd40)]
interface nsIURI : nsISupports

Просмотреть файл

@ -54,7 +54,7 @@
* |
* filePath
*
* @status UNDER_REVIEW
* @status FROZEN
*/
[scriptable, uuid(d6116970-8034-11d3-9399-00104ba0fd40)]
interface nsIURL : nsIURI

Просмотреть файл

@ -47,6 +47,10 @@
#include "nsIStreamListener.h"
#include "nsIStreamProvider.h"
#include "nsIRequestObserverProxy.h"
#include "nsIStreamListenerProxy.h"
#include "nsIStreamProviderProxy.h"
#include "nsISimpleStreamListener.h"
#include "nsISimpleStreamProvider.h"
#include "nsILoadGroup.h"
#include "nsIInterfaceRequestor.h"
#include "nsIInterfaceRequestorUtils.h"

Просмотреть файл

@ -38,7 +38,7 @@
#ifndef nsAsyncStreamListener_h__
#define nsAsyncStreamListener_h__
#include "nsIStreamListener.h"
#include "nsIStreamListenerProxy.h"
#include "nsCOMPtr.h"
#include "nsIEventQueue.h"
#include "nsIRequestObserver.h"

Просмотреть файл

@ -47,6 +47,7 @@
#include "nsFileSpec.h"
#include "nsAutoLock.h"
#include "nsNetCID.h"
#include "netCore.h"
#include "nsCExternalHandlerService.h"
////////////////////////////////////////////////////////////////////////////////

Просмотреть файл

@ -36,7 +36,7 @@
*
* ***** END LICENSE BLOCK ***** */
#include "nsIStreamListener.h"
#include "nsISimpleStreamListener.h"
#include "nsIOutputStream.h"
#include "nsCOMPtr.h"

Просмотреть файл

@ -36,7 +36,7 @@
*
* ***** END LICENSE BLOCK ***** */
#include "nsIStreamProvider.h"
#include "nsISimpleStreamProvider.h"
#include "nsIInputStream.h"
#include "nsCOMPtr.h"

Просмотреть файл

@ -37,6 +37,7 @@
* ***** END LICENSE BLOCK ***** */
#include "nsStreamListenerProxy.h"
#include "netCore.h"
#include "nsIGenericFactory.h"
#include "nsIPipe.h"
#include "nsAutoLock.h"

Просмотреть файл

@ -40,7 +40,7 @@
#define nsStreamListenerProxy_h__
#include "nsRequestObserverProxy.h"
#include "nsIStreamListener.h"
#include "nsIStreamListenerProxy.h"
#include "nsIInputStream.h"
#include "nsIOutputStream.h"
#include "nsIObservableInputStream.h"

Просмотреть файл

@ -1,7 +1,44 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla 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/MPL/
*
* 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.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2002
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Darin Fisher <darin@netscape.com> (original author)
*
* 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 MPL, 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 MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#ifndef nsStreamListenerTee_h__
#define nsStreamListenerTee_h__
#include "nsIStreamListener.h"
#include "nsIStreamListenerTee.h"
#include "nsIInputStreamTee.h"
#include "nsIOutputStream.h"
#include "nsCOMPtr.h"

Просмотреть файл

@ -1,69 +0,0 @@
/* -*- 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):
* Darin Fisher <darin@netscape.com> (original author)
*
* 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 ***** */
#ifndef nsStreamProviderProxy_h__
#define nsStreamProviderProxy_h__
#include "nsRequestObserverProxy.h"
#include "nsIStreamProvider.h"
#include "nsIInputStream.h"
#include "nsIOutputStream.h"
class nsStreamProviderProxy : public nsIStreamProviderProxy
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIREQUESTOBSERVER
NS_DECL_NSISTREAMPROVIDER
NS_DECL_NSISTREAMPROVIDERPROXY
nsStreamProviderProxy();
virtual ~nsStreamProviderProxy();
nsresult GetProvider(nsIStreamProvider **);
void SetProviderStatus(nsresult status) { mProviderStatus = status; }
protected:
nsRequestObserverProxy *mObserverProxy;
nsCOMPtr<nsIInputStream> mPipeIn;
nsCOMPtr<nsIOutputStream> mPipeOut;
nsresult mProviderStatus;
};
#endif // nsStreamProviderProxy_h__

Просмотреть файл

@ -44,8 +44,9 @@
* netwerk/base/ classes
*/
// service implementing nsIIOService.
#define NS_IOSERVICE_CLASSNAME \
"I/O Service"
"nsIOService"
#define NS_IOSERVICE_CONTRACTID \
"@mozilla.org/network/io-service;1"
#define NS_IOSERVICE_CID \
@ -56,8 +57,9 @@
{0x93, 0x37, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40} \
}
// component implementing nsILoadGroup.
#define NS_LOADGROUP_CLASSNAME \
"Load Group"
"nsLoadGroup"
#define NS_LOADGROUP_CONTRACTID \
"@mozilla.org/network/load-group;1"
#define NS_LOADGROUP_CID \
@ -68,8 +70,9 @@
{0x8c, 0xce, 0x00, 0x60, 0xb0, 0xfc, 0x14, 0xa3} \
}
// component implementing nsIURI and nsISerializable.
#define NS_SIMPLEURI_CLASSNAME \
"Simple URI"
"nsSimpleURI"
#define NS_SIMPLEURI_CONTRACTID \
"@mozilla.org/network/simple-uri;1"
#define NS_SIMPLEURI_CID \
@ -80,7 +83,7 @@
{0x8c, 0xd0, 0x00, 0x60, 0xb0, 0xfc, 0x14, 0xa3} \
}
// class implementing nsIFileURL, nsIStandardURL, and nsISerializable.
// component implementing nsIStandardURL, nsIFileURL, and nsISerializable.
#define NS_STANDARDURL_CLASSNAME \
"nsStandardURL"
#define NS_STANDARDURL_CONTRACTID \
@ -93,7 +96,7 @@
{0x93, 0x99, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40} \
}
// service implementing nsIURLParser2 that assumes the URL will NOT contain an
// service implementing nsIURLParser that assumes the URL will NOT contain an
// authority section.
#define NS_NOAUTHURLPARSER_CLASSNAME \
"nsNoAuthURLParser"
@ -107,7 +110,7 @@
{0xbb, 0x94, 0x78, 0x9f, 0x08, 0x16, 0xa8, 0x10} \
}
// service implementing nsIURLParser2 that assumes the URL will contain an
// service implementing nsIURLParser that assumes the URL will contain an
// authority section.
#define NS_AUTHURLPARSER_CLASSNAME \
"nsAuthURLParser"
@ -121,7 +124,7 @@
{0xad, 0xb7, 0xd7, 0xf3, 0x90, 0xce, 0x0e, 0x42} \
}
// service implementing nsIURLParser2 that does not make any assumptions about
// service implementing nsIURLParser that does not make any assumptions about
// whether or not the URL contains an authority section.
#define NS_STDURLPARSER_CLASSNAME \
"nsStdURLParser"
@ -135,8 +138,9 @@
{0x92, 0x01, 0xdc, 0x9b, 0x2c, 0x03, 0x2e, 0xba} \
}
// component implementing nsIRequestObserverProxy.
#define NS_REQUESTOBSERVERPROXY_CLASSNAME \
"Request Observer Proxy"
"nsRequestObserverProxy"
#define NS_REQUESTOBSERVERPROXY_CONTRACTID \
"@mozilla.org/network/request-observer-proxy;1"
#define NS_REQUESTOBSERVERPROXY_CID \
@ -147,8 +151,9 @@
{0x9c, 0x46, 0xd0, 0x3f, 0xaa, 0x7b, 0x69, 0x6b} \
}
// component implementing nsIStreamListenerProxy.
#define NS_STREAMLISTENERPROXY_CLASSNAME \
"Stream Listener Proxy"
"nsStreamListenerProxy"
#define NS_STREAMLISTENERPROXY_CONTRACTID \
"@mozilla.org/network/stream-listener-proxy;1"
#define NS_STREAMLISTENERPROXY_CID \
@ -159,8 +164,9 @@
{0xa9, 0xd5, 0xe8, 0x42, 0xbd, 0x76, 0xf0, 0x15} \
}
// component implementing nsIStreamProviderProxy.
#define NS_STREAMPROVIDERPROXY_CLASSNAME \
"Stream Provider Proxy"
"nsStreamProviderProxy"
#define NS_STREAMPROVIDERPROXY_CONTRACTID \
"@mozilla.org/network/stream-provider-proxy;1"
#define NS_STREAMPROVIDERPROXY_CID \
@ -171,8 +177,9 @@
{0x9b, 0xbd, 0x78, 0x89, 0x4b, 0xfc, 0x1f, 0x31} \
}
// component implementing nsISimpleStreamListener.
#define NS_SIMPLESTREAMLISTENER_CLASSNAME \
"Simple Stream Listener"
"nsSimpleStreamListener"
#define NS_SIMPLESTREAMLISTENER_CONTRACTID \
"@mozilla.org/network/simple-stream-listener;1"
#define NS_SIMPLESTREAMLISTENER_CID \
@ -183,8 +190,9 @@
{0xb1, 0xd6, 0x53, 0x88, 0xe0, 0x41, 0xfb, 0x67} \
}
// component implementing nsISimpleStreamProvider.
#define NS_SIMPLESTREAMPROVIDER_CLASSNAME \
"Simple Stream Provider"
"nsSimpleStreamProvider"
#define NS_SIMPLESTREAMPROVIDER_CONTRACTID \
"@mozilla.org/network/simple-stream-provider;1"
#define NS_SIMPLESTREAMPROVIDER_CID \
@ -195,8 +203,9 @@
{0xaf, 0x40, 0x2a, 0x5e, 0xc3, 0x99, 0x27, 0x10} \
}
// DEPRECATED component implementing nsIAsyncStreamListener.
#define NS_ASYNCSTREAMLISTENER_CLASSNAME \
"Async Stream Listener"
"nsAsyncStreamListener"
#define NS_ASYNCSTREAMLISTENER_CONTRACTID \
"@mozilla.org/network/async-stream-listener;1"
#define NS_ASYNCSTREAMLISTENER_CID \
@ -207,8 +216,9 @@
{0x8c, 0xd9, 0x00, 0x60, 0xb0, 0xfc, 0x14, 0xa3} \
}
// component implementing nsIStreamListenerTee.
#define NS_STREAMLISTENERTEE_CLASSNAME \
"Stream Listener Tee"
"nsStreamListenerTee"
#define NS_STREAMLISTENERTEE_CONTRACTID \
"@mozilla.org/network/stream-listener-tee;1"
#define NS_STREAMLISTENERTEE_CID \
@ -219,8 +229,15 @@
{0xb0, 0x2e, 0x77, 0xc8, 0x81, 0xcc, 0x57, 0x73} \
}
// A simple implementation of nsITransport that stores a segmented memory
// buffer (4k chunks). As long as the nsITransport is referenced, the data
// remains in memory. It can be read multiple times (only AsyncRead is
// implemented). There can be only one writer at a time (only OpenOutputStream
// is implemented). AsyncRead can be called while an output stream is still
// being written to. The readers will get notified automatically as more
// data is written via the output stream.
#define NS_STORAGETRANSPORT_CLASSNAME \
"Storage Transport"
"nsStorageTransport"
#define NS_STORAGETRANSPORT_CONTRACTID \
"@mozilla.org/network/storage-transport;1"
#define NS_STORAGETRANSPORT_CID \
@ -231,8 +248,9 @@
{0x86, 0xb5, 0x3b, 0x0f, 0x4d, 0x54, 0xb9, 0xd2} \
}
// component implementing nsIStreamIOChannel.
#define NS_STREAMIOCHANNEL_CLASSNAME \
"Stream I/O Channel"
"nsInputStreamChannel"
#define NS_STREAMIOCHANNEL_CONTRACTID \
"@mozilla.org/network/stream-io-channel;1"
#define NS_STREAMIOCHANNEL_CID \
@ -243,8 +261,22 @@
{0x98, 0x6e, 0x00, 0xc0, 0x4f, 0xa0, 0xcf, 0x4a} \
}
// component implementing nsIStreamLoader.
#define NS_STREAMLOADER_CLASSNAME \
"nsStreamLoader"
#define NS_STREAMLOADER_CONTRACTID \
"@mozilla.org/network/stream-loader;1"
#define NS_STREAMLOADER_CID \
{ /* 5BA6D920-D4E9-11d3-A1A5-0050041CAF44 */ \
0x5ba6d920, \
0xd4e9, \
0x11d3, \
{ 0xa1, 0xa5, 0x0, 0x50, 0x4, 0x1c, 0xaf, 0x44 } \
}
// component implementing nsIDownloader.
#define NS_DOWNLOADER_CLASSNAME \
"File Downloader"
"nsDownloader"
#define NS_DOWNLOADER_CONTRACTID \
"@mozilla.org/network/downloader;1"
#define NS_DOWNLOADER_CID \
@ -255,8 +287,9 @@
{0xbb, 0x4f, 0x96, 0x5c, 0xff, 0xd2, 0x3e, 0xce} \
}
// component implementing nsIURIChecker.
#define NS_URICHECKER_CLASSNAME \
"URI Checker"
"nsURIChecker"
#define NS_URICHECKER_CONTRACT_ID \
"@mozilla.org/network/urichecker;1"
#define NS_URICHECKER_CID \
@ -267,8 +300,9 @@
{0xa9, 0x04, 0xac, 0x1d, 0x6d, 0xa7, 0x7a, 0x02} \
}
// component implementing nsIResumableEntityID
#define NS_RESUMABLEENTITYID_CLASSNAME \
"ResumableEntityID"
"nsResumableEntityID"
#define NS_RESUMABLEENTITYID_CONTRACTID \
"@mozilla.org/network/resumable-entity-id;1"
#define NS_RESUMABLEENTITYID_CID \
@ -279,12 +313,14 @@
{0xb9, 0x5c, 0xe5, 0xd6, 0x7a, 0x34, 0xe6, 0xb3} \
}
/******************************************************************************
* netwerk/cache/ classes
*/
// service implementing nsICacheService.
#define NS_CACHESERVICE_CLASSNAME \
"Cache Service"
"nsCacheService"
#define NS_CACHESERVICE_CONTRACTID \
"@mozilla.org/network/cache-service;1"
#define NS_CACHESERVICE_CID \

Просмотреть файл

@ -629,9 +629,9 @@ static const nsModuleComponentInfo gNetModuleInfo[] = {
NS_STREAMIOCHANNEL_CID,
NS_STREAMIOCHANNEL_CONTRACTID,
nsStreamIOChannel::Create },
{ "Unichar Stream Loader",
{ NS_STREAMLOADER_CLASSNAME,
NS_STREAMLOADER_CID,
"@mozilla.org/network/stream-loader;1",
NS_STREAMLOADER_CONTRACTID,
nsStreamLoader::Create },
{ NS_DOWNLOADER_CLASSNAME,
NS_DOWNLOADER_CID,

Просмотреть файл

@ -917,6 +917,20 @@
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIStreamListenerProxy.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIStreamListenerTee.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIURI.idl</PATH>
@ -1260,6 +1274,13 @@
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIStreamProviderProxy.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsITransport.idl</PATH>
@ -1309,6 +1330,20 @@
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsISimpleStreamListener.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsISimpleStreamProvider.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIAuthPrompt.idl</PATH>
@ -1490,6 +1525,16 @@
<PATH>nsIStreamListener.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIStreamListenerProxy.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIStreamListenerTee.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIIOService.idl</PATH>
@ -1765,6 +1810,11 @@
<PATH>nsIStreamProvider.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIStreamProviderProxy.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsITransport.idl</PATH>
@ -1800,6 +1850,16 @@
<PATH>nsIRequestObserverProxy.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsISimpleStreamListener.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsISimpleStreamProvider.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIAuthPrompt.idl</PATH>
@ -2776,6 +2836,20 @@
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIStreamListenerProxy.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIStreamListenerTee.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIURI.idl</PATH>
@ -3112,6 +3186,13 @@
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIStreamProviderProxy.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsITransport.idl</PATH>
@ -3161,6 +3242,20 @@
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsISimpleStreamListener.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsISimpleStreamProvider.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIAuthPrompt.idl</PATH>
@ -3342,6 +3437,16 @@
<PATH>nsIStreamListener.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIStreamListenerProxy.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIStreamListenerTee.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIIOService.idl</PATH>
@ -3612,6 +3717,11 @@
<PATH>nsIStreamProvider.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIStreamProviderProxy.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsITransport.idl</PATH>
@ -3647,6 +3757,16 @@
<PATH>nsIRequestObserverProxy.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsISimpleStreamListener.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsISimpleStreamProvider.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIAuthPrompt.idl</PATH>
@ -4052,12 +4172,30 @@
<PATH>nsIStreamListener.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<TARGETNAME>headers</TARGETNAME>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIStreamListenerProxy.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<TARGETNAME>headers</TARGETNAME>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIStreamListenerTee.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<TARGETNAME>headers</TARGETNAME>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIStreamProvider.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<TARGETNAME>headers</TARGETNAME>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsIStreamProviderProxy.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<TARGETNAME>headers</TARGETNAME>
<PATHTYPE>Name</PATHTYPE>
@ -4112,6 +4250,18 @@
<PATH>nsIRequestObserverProxy.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<TARGETNAME>headers</TARGETNAME>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsISimpleStreamListener.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<TARGETNAME>headers</TARGETNAME>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsISimpleStreamProvider.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<TARGETNAME>headers</TARGETNAME>
<PATHTYPE>Name</PATHTYPE>

Просмотреть файл

@ -45,6 +45,7 @@
#include "nsICacheSession.h"
#include "nsICacheEntryDescriptor.h"
#include "nsIStreamListener.h"
#include "nsIOutputStream.h"
#include "nsCOMPtr.h"
#include "nsString.h"

Просмотреть файл

@ -45,6 +45,7 @@
#include "nsISocketTransport.h"
#include "nsIStreamConverterService.h"
#include "nsIStreamListenerTee.h"
#include "nsReadableUtils.h"
#include "prprf.h"
#include "prlog.h"

Просмотреть файл

@ -50,6 +50,7 @@
#include "nsCRT.h"
class nsITimer;
class nsIStreamListener;
// {25029490-F132-11d2-9588-00805F369F95}
#define NS_FTPPROTOCOLHANDLER_CID \

Просмотреть файл

@ -33,6 +33,7 @@
#include "prtime.h"
#include "nsISupportsUtils.h"
#include "nsPromiseFlatString.h"
#include "netCore.h"
#if defined(PR_LOGGING)
//

Просмотреть файл

@ -35,17 +35,18 @@
#include "nsIURL.h"
#include "nsIMIMEService.h"
#include "nsIScriptSecurityManager.h"
#include "nsIIDNService.h"
#include "nsIStreamListenerTee.h"
#include "nsCExternalHandlerService.h"
#include "nsCPasswordManager.h"
#include "nsMimeTypes.h"
#include "nsNetUtil.h"
#include "nsString.h"
#include "nsPrintfCString.h"
#include "nsReadableUtils.h"
#include "nsIIDNService.h"
#include "plstr.h"
#include "prprf.h"
#include "nsEscape.h"
#include "nsCPasswordManager.h"
static NS_DEFINE_CID(kStreamListenerTeeCID, NS_STREAMLISTENERTEE_CID);

Просмотреть файл

@ -27,6 +27,7 @@
#include "nsReadableUtils.h"
#include "nsCOMPtr.h"
#include "nsIServiceManager.h"
#include "nsIChannel.h"
#include "nsNetCID.h"
#include "netCore.h"

Просмотреть файл

@ -63,7 +63,7 @@ interface nsIInputStream;
*
* NOTE: returning NS_OK and (*aWriteCount = 0) has undefined behavior.
*
* @status UNDER_REVIEW
* @status FROZEN
*/
typedef NS_CALLBACK(nsWriteSegmentFun)(nsIInputStream *aInStream,
void *aClosure,
@ -78,7 +78,7 @@ native nsWriteSegmentFun(nsWriteSegmentFun);
/**
* nsIInputStream
*
* @status UNDER_REVIEW
* @status FROZEN
*/
[scriptable, uuid(fa9c7f6c-61b3-11d4-9877-00c04fa0cf4a)]
interface nsIInputStream : nsISupports

Просмотреть файл

@ -63,7 +63,7 @@ interface nsIInputStream;
* Errors are passed to the caller of WriteSegments, unless aFromOffset is
* greater than zero.
*
* @status UNDER_REVIEW
* @status FROZEN
*/
typedef NS_CALLBACK(nsReadSegmentFun)(nsIOutputStream *aOutStream,
void *aClosure,
@ -78,7 +78,7 @@ native nsReadSegmentFun(nsReadSegmentFun);
/**
* nsIOutputStream
*
* @status UNDER_REVIEW
* @status FROZEN
*/
[scriptable, uuid(0d0acd2a-61b4-11d4-9877-00c04fa0cf4a)]
interface nsIOutputStream : nsISupports

Просмотреть файл

@ -42,6 +42,7 @@
#include "nsIDOMInstallTriggerGlobal.h"
#include "nscore.h"
#include "netCore.h"
#include "nsIFactory.h"
#include "nsISupports.h"
#include "nsIScriptGlobalObject.h"