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:
Родитель
d175c2bb6a
Коммит
040ddbbf28
|
@ -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"
|
||||
|
|
Загрузка…
Ссылка в новой задаче