2001-09-28 20:14:13 +00:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
|
|
/* ***** BEGIN LICENSE BLOCK *****
|
2004-04-18 22:01:16 +00:00
|
|
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
1999-09-30 01:53:31 +00:00
|
|
|
*
|
2004-04-18 22:01:16 +00:00
|
|
|
* 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/
|
1999-09-30 01:53:31 +00:00
|
|
|
*
|
2001-09-28 20:14:13 +00:00
|
|
|
* 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.
|
1999-09-30 01:53:31 +00:00
|
|
|
*
|
1999-11-06 03:40:37 +00:00
|
|
|
* The Original Code is mozilla.org code.
|
|
|
|
*
|
2004-04-18 22:01:16 +00:00
|
|
|
* The Initial Developer of the Original Code is
|
2001-09-28 20:14:13 +00:00
|
|
|
* Netscape Communications Corporation.
|
|
|
|
* Portions created by the Initial Developer are Copyright (C) 1998
|
|
|
|
* the Initial Developer. All Rights Reserved.
|
1999-11-06 03:40:37 +00:00
|
|
|
*
|
2001-09-28 20:14:13 +00:00
|
|
|
* Contributor(s):
|
|
|
|
*
|
|
|
|
* Alternatively, the contents of this file may be used under the terms of
|
2004-04-18 22:01:16 +00:00
|
|
|
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
2001-09-28 20:14:13 +00:00
|
|
|
* 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
|
2004-04-18 22:01:16 +00:00
|
|
|
* use your version of this file under the terms of the MPL, indicate your
|
2001-09-28 20:14:13 +00:00
|
|
|
* 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
|
2004-04-18 22:01:16 +00:00
|
|
|
* the terms of any one of the MPL, the GPL or the LGPL.
|
2001-09-28 20:14:13 +00:00
|
|
|
*
|
|
|
|
* ***** END LICENSE BLOCK ***** */
|
2001-10-03 00:40:10 +00:00
|
|
|
|
2003-04-23 03:47:43 +00:00
|
|
|
#include "necko-config.h"
|
|
|
|
|
1999-09-30 01:53:31 +00:00
|
|
|
#include "nsCOMPtr.h"
|
|
|
|
#include "nsIModule.h"
|
|
|
|
#include "nsIGenericFactory.h"
|
|
|
|
#include "nsIComponentManager.h"
|
|
|
|
#include "nsIServiceManager.h"
|
2000-06-02 00:23:56 +00:00
|
|
|
#include "nsICategoryManager.h"
|
1999-09-30 01:53:31 +00:00
|
|
|
#include "nsSocketProviderService.h"
|
|
|
|
#include "nscore.h"
|
|
|
|
#include "nsSimpleURI.h"
|
|
|
|
#include "nsLoadGroup.h"
|
2000-02-02 23:04:47 +00:00
|
|
|
#include "nsStreamLoader.h"
|
2002-08-27 23:47:25 +00:00
|
|
|
#include "nsUnicharStreamLoader.h"
|
1999-11-30 04:50:42 +00:00
|
|
|
#include "nsAsyncStreamListener.h"
|
2000-01-24 21:28:28 +00:00
|
|
|
#include "nsFileStreams.h"
|
2000-02-04 07:31:43 +00:00
|
|
|
#include "nsBufferedStreams.h"
|
2002-02-16 01:19:24 +00:00
|
|
|
#include "nsMIMEInputStream.h"
|
2000-07-01 10:25:25 +00:00
|
|
|
#include "nsSOCKSSocketProvider.h"
|
2002-09-19 18:29:56 +00:00
|
|
|
#include "nsCacheService.h"
|
2003-10-06 01:46:31 +00:00
|
|
|
#include "nsIOThreadPool.h"
|
2004-01-08 03:56:02 +00:00
|
|
|
#include "nsMimeTypes.h"
|
1999-09-30 01:53:31 +00:00
|
|
|
|
2001-01-23 22:10:34 +00:00
|
|
|
#include "nsNetCID.h"
|
|
|
|
|
2002-10-08 03:12:32 +00:00
|
|
|
#if defined(XP_MAC) || defined(XP_MACOSX)
|
|
|
|
// Mac OS
|
|
|
|
#define BUILD_APPLEFILE_DECODER 1
|
|
|
|
#else
|
|
|
|
// other platforms
|
|
|
|
#define BUILD_BINHEX_DECODER 1
|
|
|
|
#endif
|
|
|
|
|
2000-05-06 09:15:56 +00:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2003-01-18 02:15:14 +00:00
|
|
|
#include "nsIOService.h"
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsIOService, Init)
|
2003-09-11 20:32:33 +00:00
|
|
|
|
|
|
|
#include "nsDNSService2.h"
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsDNSService, Init)
|
2003-04-11 18:24:55 +00:00
|
|
|
|
|
|
|
#include "nsProtocolProxyService.h"
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsProtocolProxyService, Init)
|
2003-01-18 02:15:14 +00:00
|
|
|
|
|
|
|
#include "nsStreamTransportService.h"
|
2003-10-06 01:46:31 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsStreamTransportService)
|
2003-01-18 02:15:14 +00:00
|
|
|
|
|
|
|
#include "nsSocketTransportService2.h"
|
|
|
|
#undef LOG
|
2003-04-11 01:19:07 +00:00
|
|
|
#undef LOG_ENABLED
|
2003-01-18 02:15:14 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsSocketTransportService, Init)
|
|
|
|
|
2003-11-15 00:13:59 +00:00
|
|
|
#include "nsServerSocket.h"
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsServerSocket)
|
|
|
|
|
2003-01-18 02:15:14 +00:00
|
|
|
#include "nsAsyncStreamCopier.h"
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsAsyncStreamCopier)
|
|
|
|
|
|
|
|
#include "nsInputStreamPump.h"
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsInputStreamPump)
|
|
|
|
|
|
|
|
#include "nsInputStreamChannel.h"
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsInputStreamChannel)
|
|
|
|
|
2003-06-23 22:58:28 +00:00
|
|
|
#include "nsDownloader.h"
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDownloader)
|
|
|
|
|
2003-10-08 04:27:13 +00:00
|
|
|
#include "nsSyncStreamListener.h"
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsSyncStreamListener, Init)
|
|
|
|
|
2004-07-06 20:35:40 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsSafeFileOutputStream)
|
|
|
|
|
2003-01-18 02:15:14 +00:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2000-05-06 09:15:56 +00:00
|
|
|
#include "nsStreamConverterService.h"
|
2002-10-08 03:12:32 +00:00
|
|
|
|
|
|
|
#ifdef BUILD_APPLEFILE_DECODER
|
2001-06-25 22:11:43 +00:00
|
|
|
#include "nsAppleFileDecoder.h"
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsAppleFileDecoder)
|
|
|
|
#endif
|
2000-05-06 09:15:56 +00:00
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2003-06-12 21:57:49 +00:00
|
|
|
#include "nsMIMEHeaderParamImpl.h"
|
|
|
|
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsMIMEHeaderParamImpl)
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2001-04-10 06:01:08 +00:00
|
|
|
#include "nsRequestObserverProxy.h"
|
2001-01-23 22:10:34 +00:00
|
|
|
#include "nsSimpleStreamListener.h"
|
2001-10-03 00:43:30 +00:00
|
|
|
#include "nsDirIndexParser.h"
|
|
|
|
#include "nsDirIndex.h"
|
2001-01-23 22:10:34 +00:00
|
|
|
|
2001-04-10 06:01:08 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsRequestObserverProxy)
|
2001-01-23 22:10:34 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsSimpleStreamListener)
|
2001-10-03 00:43:30 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsDirIndexParser, Init)
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDirIndex)
|
2000-05-06 09:15:56 +00:00
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2001-03-08 00:58:06 +00:00
|
|
|
#include "nsStreamListenerTee.h"
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsStreamListenerTee)
|
|
|
|
|
2003-10-10 23:08:01 +00:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2004-07-19 04:57:02 +00:00
|
|
|
#ifdef NECKO_COOKIES
|
2003-10-10 23:08:01 +00:00
|
|
|
#include "nsCookieService.h"
|
|
|
|
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsCookieService, nsCookieService::GetSingleton)
|
2004-07-19 04:57:02 +00:00
|
|
|
#endif
|
2003-10-10 23:08:01 +00:00
|
|
|
|
2001-03-08 00:58:06 +00:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
2003-04-23 03:47:43 +00:00
|
|
|
// protocols
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
// about:blank is mandatory
|
|
|
|
#include "nsAboutProtocolHandler.h"
|
|
|
|
#include "nsAboutBlank.h"
|
|
|
|
|
|
|
|
#ifdef NECKO_PROTOCOL_about
|
|
|
|
// about
|
|
|
|
#include "nsAboutBloat.h"
|
|
|
|
#include "nsAboutCache.h"
|
|
|
|
#include "nsAboutRedirector.h"
|
|
|
|
#include "nsAboutCacheEntry.h"
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsAboutCacheEntry)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef NECKO_PROTOCOL_file
|
|
|
|
// file
|
|
|
|
#include "nsFileProtocolHandler.h"
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsFileProtocolHandler, Init)
|
|
|
|
#endif
|
2001-03-08 00:58:06 +00:00
|
|
|
|
2003-04-23 03:47:43 +00:00
|
|
|
#ifdef NECKO_PROTOCOL_ftp
|
|
|
|
// ftp
|
|
|
|
#include "nsFtpProtocolHandler.h"
|
2003-09-07 23:12:15 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsFtpProtocolHandler, Init)
|
2003-04-23 03:47:43 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef NECKO_PROTOCOL_http
|
|
|
|
// http/https
|
2001-05-11 21:04:09 +00:00
|
|
|
#include "nsHttpHandler.h"
|
2003-03-27 19:31:53 +00:00
|
|
|
#include "nsHttpAuthManager.h"
|
2001-05-11 21:04:09 +00:00
|
|
|
#include "nsHttpBasicAuth.h"
|
2001-12-05 01:09:38 +00:00
|
|
|
#include "nsHttpDigestAuth.h"
|
2003-03-27 19:31:53 +00:00
|
|
|
#include "nsHttpNTLMAuth.h"
|
2003-11-18 02:20:34 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsHttpNTLMAuth)
|
2003-01-18 02:15:14 +00:00
|
|
|
#undef LOG
|
2003-04-11 01:19:07 +00:00
|
|
|
#undef LOG_ENABLED
|
2002-08-13 20:33:45 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsHttpHandler, Init)
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsHttpsHandler, Init)
|
2003-03-24 03:59:47 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsHttpAuthManager, Init)
|
2002-08-13 20:33:45 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsHttpBasicAuth)
|
2001-12-05 01:09:38 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsHttpDigestAuth)
|
2003-04-23 03:47:43 +00:00
|
|
|
#endif // !NECKO_PROTOCOL_http
|
|
|
|
|
|
|
|
#ifdef NECKO_PROTOCOL_res
|
|
|
|
// resource
|
2001-09-20 01:32:16 +00:00
|
|
|
#include "nsResProtocolHandler.h"
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsResProtocolHandler, Init)
|
2004-12-02 06:59:34 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsResURL)
|
2003-04-23 03:47:43 +00:00
|
|
|
#endif
|
2001-09-20 01:32:16 +00:00
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2001-10-03 00:40:10 +00:00
|
|
|
#include "nsURIChecker.h"
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsURIChecker)
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
2001-06-21 22:02:47 +00:00
|
|
|
|
2001-11-16 02:09:13 +00:00
|
|
|
#include "nsURLParsers.h"
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsNoAuthURLParser)
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsAuthURLParser)
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsStdURLParser)
|
|
|
|
|
|
|
|
#include "nsStandardURL.h"
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsStandardURL)
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2002-09-26 23:30:18 +00:00
|
|
|
#include "nsIDNService.h"
|
2003-04-11 17:05:56 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsIDNService, Init)
|
2002-09-26 23:30:18 +00:00
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2003-07-11 22:13:30 +00:00
|
|
|
#ifdef NECKO_PROTOCOL_ftp
|
2000-05-06 09:15:56 +00:00
|
|
|
#include "nsFTPDirListingConv.h"
|
2003-07-11 22:13:30 +00:00
|
|
|
nsresult NS_NewFTPDirListingConv(nsFTPDirListingConv** result);
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef NECKO_PROTOCOL_gopher
|
2001-03-14 02:51:01 +00:00
|
|
|
#include "nsGopherDirListingConv.h"
|
2003-07-11 22:13:30 +00:00
|
|
|
nsresult NS_NewGopherDirListingConv(nsGopherDirListingConv** result);
|
|
|
|
#endif
|
|
|
|
|
2000-05-06 09:15:56 +00:00
|
|
|
#include "nsMultiMixedConv.h"
|
|
|
|
#include "nsHTTPCompressConv.h"
|
|
|
|
#include "mozTXTToHTMLConv.h"
|
|
|
|
#include "nsUnknownDecoder.h"
|
|
|
|
#include "nsTXTToHTMLConv.h"
|
2001-03-06 02:14:42 +00:00
|
|
|
#include "nsIndexedToHTML.h"
|
2002-10-08 03:12:32 +00:00
|
|
|
#ifdef BUILD_BINHEX_DECODER
|
2001-06-28 01:09:51 +00:00
|
|
|
#include "nsBinHexDecoder.h"
|
|
|
|
#endif
|
2001-03-08 00:41:53 +00:00
|
|
|
|
2000-05-06 09:15:56 +00:00
|
|
|
nsresult NS_NewMultiMixedConv (nsMultiMixedConv** result);
|
|
|
|
nsresult MOZ_NewTXTToHTMLConv (mozTXTToHTMLConv** result);
|
|
|
|
nsresult NS_NewHTTPCompressConv (nsHTTPCompressConv ** result);
|
|
|
|
nsresult NS_NewNSTXTToHTMLConv(nsTXTToHTMLConv** result);
|
2001-03-08 00:41:53 +00:00
|
|
|
nsresult NS_NewStreamConv(nsStreamConverterService **aStreamConv);
|
|
|
|
|
2002-08-29 03:13:18 +00:00
|
|
|
#define FTP_TO_INDEX "?from=text/ftp-dir&to=application/http-index-format"
|
2001-03-14 02:51:01 +00:00
|
|
|
#define GOPHER_TO_INDEX "?from=text/gopher-dir&to=application/http-index-format"
|
2001-03-08 00:41:53 +00:00
|
|
|
#define INDEX_TO_HTML "?from=application/http-index-format&to=text/html"
|
|
|
|
#define MULTI_MIXED_X "?from=multipart/x-mixed-replace&to=*/*"
|
|
|
|
#define MULTI_MIXED "?from=multipart/mixed&to=*/*"
|
2001-05-18 22:20:11 +00:00
|
|
|
#define MULTI_BYTERANGES "?from=multipart/byteranges&to=*/*"
|
2004-01-08 03:56:02 +00:00
|
|
|
#define UNKNOWN_CONTENT "?from=" UNKNOWN_CONTENT_TYPE "&to=*/*"
|
|
|
|
#define MAYBE_TEXT "?from=" APPLICATION_MAYBE_TEXT "&to=*/*"
|
2001-03-08 00:41:53 +00:00
|
|
|
#define GZIP_TO_UNCOMPRESSED "?from=gzip&to=uncompressed"
|
|
|
|
#define XGZIP_TO_UNCOMPRESSED "?from=x-gzip&to=uncompressed"
|
|
|
|
#define COMPRESS_TO_UNCOMPRESSED "?from=compress&to=uncompressed"
|
|
|
|
#define XCOMPRESS_TO_UNCOMPRESSED "?from=x-compress&to=uncompressed"
|
|
|
|
#define DEFLATE_TO_UNCOMPRESSED "?from=deflate&to=uncompressed"
|
|
|
|
#define PLAIN_TO_HTML "?from=text/plain&to=text/html"
|
|
|
|
|
2002-10-08 03:12:32 +00:00
|
|
|
#ifdef BUILD_BINHEX_DECODER
|
2001-06-28 01:09:51 +00:00
|
|
|
#define BINHEX_TO_WILD "?from=application/mac-binhex40&to=*/*"
|
|
|
|
#endif
|
|
|
|
|
2001-11-07 06:24:10 +00:00
|
|
|
static const char *const g_StreamConverterArray[] = {
|
2002-08-29 03:13:18 +00:00
|
|
|
FTP_TO_INDEX,
|
2001-03-14 02:51:01 +00:00
|
|
|
GOPHER_TO_INDEX,
|
2001-03-08 00:41:53 +00:00
|
|
|
INDEX_TO_HTML,
|
|
|
|
MULTI_MIXED_X,
|
|
|
|
MULTI_MIXED,
|
2001-05-18 22:20:11 +00:00
|
|
|
MULTI_BYTERANGES,
|
2001-03-08 00:41:53 +00:00
|
|
|
UNKNOWN_CONTENT,
|
2004-01-08 03:56:02 +00:00
|
|
|
MAYBE_TEXT,
|
2001-03-08 00:41:53 +00:00
|
|
|
GZIP_TO_UNCOMPRESSED,
|
|
|
|
XGZIP_TO_UNCOMPRESSED,
|
|
|
|
COMPRESS_TO_UNCOMPRESSED,
|
|
|
|
XCOMPRESS_TO_UNCOMPRESSED,
|
|
|
|
DEFLATE_TO_UNCOMPRESSED,
|
2002-10-08 03:12:32 +00:00
|
|
|
#ifdef BUILD_BINHEX_DECODER
|
2001-06-28 01:09:51 +00:00
|
|
|
BINHEX_TO_WILD,
|
|
|
|
#endif
|
2001-03-08 00:41:53 +00:00
|
|
|
PLAIN_TO_HTML
|
|
|
|
};
|
|
|
|
|
2002-09-03 22:10:08 +00:00
|
|
|
static PRUint32 g_StreamConverterCount = sizeof(g_StreamConverterCount)/sizeof(const char*);
|
|
|
|
|
2001-03-08 00:41:53 +00:00
|
|
|
// each stream converter must add its from/to key to the category manager
|
|
|
|
// in RegisterStreamConverters(). This provides a string representation
|
|
|
|
// of each registered converter, rooted in the NS_ISTREAMCONVERTER_KEY
|
|
|
|
// category. These keys are then (when the stream converter service
|
|
|
|
// needs to chain converters together) enumerated and parsed to build
|
|
|
|
// a graph of converters for potential chaining.
|
|
|
|
static NS_METHOD
|
|
|
|
RegisterStreamConverters(nsIComponentManager *aCompMgr, nsIFile *aPath,
|
2001-03-12 20:43:02 +00:00
|
|
|
const char *registryLocation,
|
|
|
|
const char *componentType,
|
|
|
|
const nsModuleComponentInfo *info) {
|
2001-03-08 00:41:53 +00:00
|
|
|
nsresult rv;
|
|
|
|
nsCOMPtr<nsICategoryManager> catmgr =
|
|
|
|
do_GetService(NS_CATEGORYMANAGER_CONTRACTID, &rv);
|
|
|
|
if (NS_FAILED(rv)) return rv;
|
|
|
|
nsXPIDLCString previous;
|
|
|
|
|
|
|
|
PRUint32 count = 0;
|
|
|
|
while (count < g_StreamConverterCount) {
|
|
|
|
(void) catmgr->AddCategoryEntry(NS_ISTREAMCONVERTER_KEY, g_StreamConverterArray[count],
|
|
|
|
"", PR_TRUE, PR_TRUE, getter_Copies(previous));
|
|
|
|
if (NS_FAILED(rv)) NS_ASSERTION(0, "adding a cat entry failed");
|
|
|
|
count++;
|
|
|
|
}
|
|
|
|
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
|
|
|
|
// same as RegisterStreamConverters except the reverse.
|
|
|
|
static NS_METHOD
|
|
|
|
UnregisterStreamConverters(nsIComponentManager *aCompMgr, nsIFile *aPath,
|
2001-03-12 20:43:02 +00:00
|
|
|
const char *registryLocation,
|
|
|
|
const nsModuleComponentInfo *info) {
|
2001-03-08 00:41:53 +00:00
|
|
|
nsresult rv;
|
|
|
|
nsCOMPtr<nsICategoryManager> catmgr =
|
|
|
|
do_GetService(NS_CATEGORYMANAGER_CONTRACTID, &rv);
|
|
|
|
if (NS_FAILED(rv)) return rv;
|
|
|
|
|
|
|
|
|
|
|
|
PRUint32 count = 0;
|
|
|
|
while (count < g_StreamConverterCount) {
|
2001-06-05 21:25:57 +00:00
|
|
|
rv = catmgr->DeleteCategoryEntry(NS_ISTREAMCONVERTER_KEY,
|
|
|
|
g_StreamConverterArray[count],
|
|
|
|
PR_TRUE);
|
2001-03-08 00:41:53 +00:00
|
|
|
if (NS_FAILED(rv)) return rv;
|
|
|
|
count++;
|
|
|
|
}
|
|
|
|
return rv;
|
|
|
|
}
|
2002-10-08 03:12:32 +00:00
|
|
|
|
|
|
|
#ifdef BUILD_BINHEX_DECODER
|
2003-09-07 23:12:15 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsBinHexDecoder)
|
2001-06-28 01:09:51 +00:00
|
|
|
#endif
|
2001-03-08 00:41:53 +00:00
|
|
|
|
|
|
|
static NS_IMETHODIMP
|
|
|
|
CreateNewStreamConvServiceFactory(nsISupports* aOuter, REFNSIID aIID, void **aResult)
|
|
|
|
{
|
|
|
|
if (!aResult) {
|
|
|
|
return NS_ERROR_INVALID_POINTER;
|
|
|
|
}
|
|
|
|
if (aOuter) {
|
|
|
|
*aResult = nsnull;
|
|
|
|
return NS_ERROR_NO_AGGREGATION;
|
|
|
|
}
|
|
|
|
nsStreamConverterService* inst = nsnull;
|
|
|
|
nsresult rv = NS_NewStreamConv(&inst);
|
|
|
|
if (NS_FAILED(rv)) {
|
|
|
|
*aResult = nsnull;
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
rv = inst->QueryInterface(aIID, aResult);
|
|
|
|
if (NS_FAILED(rv)) {
|
|
|
|
*aResult = nsnull;
|
|
|
|
}
|
|
|
|
NS_RELEASE(inst); /* get rid of extra refcnt */
|
|
|
|
return rv;
|
|
|
|
}
|
2000-05-06 09:15:56 +00:00
|
|
|
|
2003-07-11 22:13:30 +00:00
|
|
|
#ifdef NECKO_PROTOCOL_ftp
|
2000-05-06 09:15:56 +00:00
|
|
|
static NS_IMETHODIMP
|
|
|
|
CreateNewFTPDirListingConv(nsISupports* aOuter, REFNSIID aIID, void **aResult)
|
|
|
|
{
|
|
|
|
if (!aResult) {
|
|
|
|
return NS_ERROR_INVALID_POINTER;
|
|
|
|
}
|
|
|
|
if (aOuter) {
|
|
|
|
*aResult = nsnull;
|
|
|
|
return NS_ERROR_NO_AGGREGATION;
|
|
|
|
}
|
|
|
|
nsFTPDirListingConv* inst = nsnull;
|
|
|
|
nsresult rv = NS_NewFTPDirListingConv(&inst);
|
|
|
|
if (NS_FAILED(rv)) {
|
|
|
|
*aResult = nsnull;
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
rv = inst->QueryInterface(aIID, aResult);
|
|
|
|
if (NS_FAILED(rv)) {
|
|
|
|
*aResult = nsnull;
|
|
|
|
}
|
|
|
|
NS_RELEASE(inst); /* get rid of extra refcnt */
|
|
|
|
return rv;
|
|
|
|
}
|
2003-07-11 22:13:30 +00:00
|
|
|
#endif
|
2000-05-06 09:15:56 +00:00
|
|
|
|
2003-07-11 22:13:30 +00:00
|
|
|
#ifdef NECKO_PROTOCOL_gopher
|
2001-03-14 02:51:01 +00:00
|
|
|
static NS_IMETHODIMP
|
|
|
|
CreateNewGopherDirListingConv(nsISupports* aOuter, REFNSIID aIID, void **aResult)
|
|
|
|
{
|
|
|
|
if (!aResult) {
|
|
|
|
return NS_ERROR_INVALID_POINTER;
|
|
|
|
}
|
|
|
|
if (aOuter) {
|
|
|
|
*aResult = nsnull;
|
|
|
|
return NS_ERROR_NO_AGGREGATION;
|
|
|
|
}
|
|
|
|
nsGopherDirListingConv* inst = nsnull;
|
|
|
|
nsresult rv = NS_NewGopherDirListingConv(&inst);
|
|
|
|
if (NS_FAILED(rv)) {
|
|
|
|
*aResult = nsnull;
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
rv = inst->QueryInterface(aIID, aResult);
|
|
|
|
if (NS_FAILED(rv)) {
|
|
|
|
*aResult = nsnull;
|
|
|
|
}
|
|
|
|
NS_RELEASE(inst); /* get rid of extra refcnt */
|
|
|
|
return rv;
|
|
|
|
}
|
2003-07-11 22:13:30 +00:00
|
|
|
#endif
|
2001-03-14 02:51:01 +00:00
|
|
|
|
2000-05-06 09:15:56 +00:00
|
|
|
static NS_IMETHODIMP
|
|
|
|
CreateNewMultiMixedConvFactory(nsISupports* aOuter, REFNSIID aIID, void **aResult)
|
|
|
|
{
|
|
|
|
if (!aResult) {
|
|
|
|
return NS_ERROR_INVALID_POINTER;
|
|
|
|
}
|
|
|
|
if (aOuter) {
|
|
|
|
*aResult = nsnull;
|
|
|
|
return NS_ERROR_NO_AGGREGATION;
|
|
|
|
}
|
|
|
|
nsMultiMixedConv* inst = nsnull;
|
|
|
|
nsresult rv = NS_NewMultiMixedConv(&inst);
|
|
|
|
if (NS_FAILED(rv)) {
|
|
|
|
*aResult = nsnull;
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
rv = inst->QueryInterface(aIID, aResult);
|
|
|
|
if (NS_FAILED(rv)) {
|
|
|
|
*aResult = nsnull;
|
|
|
|
}
|
|
|
|
NS_RELEASE(inst); /* get rid of extra refcnt */
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
|
|
|
|
static NS_IMETHODIMP
|
|
|
|
CreateNewTXTToHTMLConvFactory(nsISupports* aOuter, REFNSIID aIID, void **aResult)
|
|
|
|
{
|
|
|
|
if (!aResult) {
|
|
|
|
return NS_ERROR_INVALID_POINTER;
|
|
|
|
}
|
|
|
|
if (aOuter) {
|
|
|
|
*aResult = nsnull;
|
|
|
|
return NS_ERROR_NO_AGGREGATION;
|
|
|
|
}
|
|
|
|
mozTXTToHTMLConv* inst = nsnull;
|
|
|
|
nsresult rv = MOZ_NewTXTToHTMLConv(&inst);
|
|
|
|
if (NS_FAILED(rv)) {
|
|
|
|
*aResult = nsnull;
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
rv = inst->QueryInterface(aIID, aResult);
|
|
|
|
if (NS_FAILED(rv)) {
|
|
|
|
*aResult = nsnull;
|
|
|
|
}
|
|
|
|
NS_RELEASE(inst); /* get rid of extra refcnt */
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
|
|
|
|
static NS_IMETHODIMP
|
|
|
|
CreateNewHTTPCompressConvFactory (nsISupports* aOuter, REFNSIID aIID, void **aResult)
|
|
|
|
{
|
|
|
|
if (!aResult) {
|
|
|
|
return NS_ERROR_INVALID_POINTER;
|
|
|
|
}
|
|
|
|
if (aOuter) {
|
|
|
|
*aResult = nsnull;
|
|
|
|
return NS_ERROR_NO_AGGREGATION;
|
|
|
|
}
|
|
|
|
nsHTTPCompressConv* inst = nsnull;
|
|
|
|
nsresult rv = NS_NewHTTPCompressConv (&inst);
|
|
|
|
if (NS_FAILED(rv)) {
|
|
|
|
*aResult = nsnull;
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
rv = inst->QueryInterface(aIID, aResult);
|
|
|
|
if (NS_FAILED(rv)) {
|
|
|
|
*aResult = nsnull;
|
|
|
|
}
|
|
|
|
NS_RELEASE(inst); /* get rid of extra refcnt */
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
|
|
|
|
static NS_IMETHODIMP
|
|
|
|
CreateNewUnknownDecoderFactory(nsISupports *aOuter, REFNSIID aIID, void **aResult)
|
|
|
|
{
|
|
|
|
nsresult rv;
|
|
|
|
|
|
|
|
if (!aResult) {
|
|
|
|
return NS_ERROR_NULL_POINTER;
|
|
|
|
}
|
|
|
|
*aResult = nsnull;
|
|
|
|
|
|
|
|
if (aOuter) {
|
|
|
|
return NS_ERROR_NO_AGGREGATION;
|
|
|
|
}
|
|
|
|
|
|
|
|
nsUnknownDecoder *inst;
|
|
|
|
|
|
|
|
inst = new nsUnknownDecoder();
|
|
|
|
if (!inst) {
|
|
|
|
return NS_ERROR_OUT_OF_MEMORY;
|
|
|
|
}
|
|
|
|
NS_ADDREF(inst);
|
|
|
|
rv = inst->QueryInterface(aIID, aResult);
|
|
|
|
NS_RELEASE(inst);
|
|
|
|
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
|
2004-01-08 03:56:02 +00:00
|
|
|
static NS_IMETHODIMP
|
|
|
|
CreateNewBinaryDetectorFactory(nsISupports *aOuter, REFNSIID aIID, void **aResult)
|
|
|
|
{
|
|
|
|
nsresult rv;
|
|
|
|
|
|
|
|
if (!aResult) {
|
|
|
|
return NS_ERROR_NULL_POINTER;
|
|
|
|
}
|
|
|
|
*aResult = nsnull;
|
|
|
|
|
|
|
|
if (aOuter) {
|
|
|
|
return NS_ERROR_NO_AGGREGATION;
|
|
|
|
}
|
|
|
|
|
|
|
|
nsBinaryDetector* inst = new nsBinaryDetector();
|
|
|
|
if (!inst) {
|
|
|
|
return NS_ERROR_OUT_OF_MEMORY;
|
|
|
|
}
|
|
|
|
NS_ADDREF(inst);
|
|
|
|
rv = inst->QueryInterface(aIID, aResult);
|
|
|
|
NS_RELEASE(inst);
|
|
|
|
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
|
2000-05-06 09:15:56 +00:00
|
|
|
static NS_IMETHODIMP
|
|
|
|
CreateNewNSTXTToHTMLConvFactory(nsISupports *aOuter, REFNSIID aIID, void **aResult)
|
|
|
|
{
|
|
|
|
nsresult rv;
|
|
|
|
|
|
|
|
if (!aResult) {
|
|
|
|
return NS_ERROR_NULL_POINTER;
|
|
|
|
}
|
|
|
|
*aResult = nsnull;
|
|
|
|
|
|
|
|
if (aOuter) {
|
|
|
|
return NS_ERROR_NO_AGGREGATION;
|
|
|
|
}
|
|
|
|
|
|
|
|
nsTXTToHTMLConv *inst;
|
|
|
|
|
|
|
|
inst = new nsTXTToHTMLConv();
|
|
|
|
if (!inst) return NS_ERROR_OUT_OF_MEMORY;
|
|
|
|
|
|
|
|
NS_ADDREF(inst);
|
|
|
|
rv = inst->Init();
|
|
|
|
if (NS_FAILED(rv)) {
|
|
|
|
delete inst;
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
rv = inst->QueryInterface(aIID, aResult);
|
|
|
|
NS_RELEASE(inst);
|
|
|
|
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
|
1999-09-30 01:53:31 +00:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Module implementation for the net library
|
|
|
|
|
2000-05-25 08:27:40 +00:00
|
|
|
// Necko module shutdown hook
|
|
|
|
static void PR_CALLBACK nsNeckoShutdown(nsIModule *neckoModule)
|
|
|
|
{
|
|
|
|
// Release the url parser that the stdurl is holding.
|
2001-11-16 02:09:13 +00:00
|
|
|
nsStandardURL::ShutdownGlobalObjects();
|
2002-07-02 18:15:19 +00:00
|
|
|
|
|
|
|
// Release buffer cache
|
|
|
|
NS_IF_RELEASE(nsIOService::gBufferCache);
|
2002-09-13 19:32:45 +00:00
|
|
|
|
|
|
|
// Release global state used by the URL helper module.
|
|
|
|
net_ShutdownURLHelper();
|
2000-05-25 08:27:40 +00:00
|
|
|
}
|
|
|
|
|
2002-01-30 21:14:20 +00:00
|
|
|
static const nsModuleComponentInfo gNetModuleInfo[] = {
|
2001-04-10 06:01:08 +00:00
|
|
|
{ NS_IOSERVICE_CLASSNAME,
|
1999-11-12 09:07:26 +00:00
|
|
|
NS_IOSERVICE_CID,
|
2001-04-10 06:01:08 +00:00
|
|
|
NS_IOSERVICE_CONTRACTID,
|
2003-01-18 02:15:14 +00:00
|
|
|
nsIOServiceConstructor },
|
2003-10-06 01:46:31 +00:00
|
|
|
{ NS_IOTHREADPOOL_CLASSNAME,
|
|
|
|
NS_IOTHREADPOOL_CID,
|
|
|
|
NS_IOTHREADPOOL_CONTRACTID,
|
|
|
|
net_NewIOThreadPool },
|
2003-01-18 02:15:14 +00:00
|
|
|
{ NS_STREAMTRANSPORTSERVICE_CLASSNAME,
|
|
|
|
NS_STREAMTRANSPORTSERVICE_CID,
|
|
|
|
NS_STREAMTRANSPORTSERVICE_CONTRACTID,
|
|
|
|
nsStreamTransportServiceConstructor },
|
|
|
|
{ NS_SOCKETTRANSPORTSERVICE_CLASSNAME,
|
1999-11-12 09:07:26 +00:00
|
|
|
NS_SOCKETTRANSPORTSERVICE_CID,
|
2003-01-18 02:15:14 +00:00
|
|
|
NS_SOCKETTRANSPORTSERVICE_CONTRACTID,
|
|
|
|
nsSocketTransportServiceConstructor },
|
2003-11-15 00:13:59 +00:00
|
|
|
{ NS_SERVERSOCKET_CLASSNAME,
|
|
|
|
NS_SERVERSOCKET_CID,
|
|
|
|
NS_SERVERSOCKET_CONTRACTID,
|
|
|
|
nsServerSocketConstructor },
|
2003-09-11 20:32:33 +00:00
|
|
|
{ NS_SOCKETPROVIDERSERVICE_CLASSNAME,
|
1999-11-12 09:07:26 +00:00
|
|
|
NS_SOCKETPROVIDERSERVICE_CID,
|
2003-09-11 20:32:33 +00:00
|
|
|
NS_SOCKETPROVIDERSERVICE_CONTRACTID,
|
1999-11-12 09:07:26 +00:00
|
|
|
nsSocketProviderService::Create },
|
2003-09-11 20:32:33 +00:00
|
|
|
{ NS_DNSSERVICE_CLASSNAME,
|
1999-11-12 09:07:26 +00:00
|
|
|
NS_DNSSERVICE_CID,
|
2003-09-11 20:32:33 +00:00
|
|
|
NS_DNSSERVICE_CONTRACTID,
|
|
|
|
nsDNSServiceConstructor },
|
2002-09-26 23:30:18 +00:00
|
|
|
{ NS_IDNSERVICE_CLASSNAME,
|
|
|
|
NS_IDNSERVICE_CID,
|
|
|
|
NS_IDNSERVICE_CONTRACTID,
|
|
|
|
nsIDNServiceConstructor },
|
2001-04-10 06:01:08 +00:00
|
|
|
{ NS_SIMPLEURI_CLASSNAME,
|
1999-11-12 09:07:26 +00:00
|
|
|
NS_SIMPLEURI_CID,
|
2001-04-10 06:01:08 +00:00
|
|
|
NS_SIMPLEURI_CONTRACTID,
|
1999-11-12 09:07:26 +00:00
|
|
|
nsSimpleURI::Create },
|
2003-01-18 02:15:14 +00:00
|
|
|
{ NS_ASYNCSTREAMCOPIER_CLASSNAME,
|
|
|
|
NS_ASYNCSTREAMCOPIER_CID,
|
|
|
|
NS_ASYNCSTREAMCOPIER_CONTRACTID,
|
|
|
|
nsAsyncStreamCopierConstructor },
|
|
|
|
{ NS_INPUTSTREAMPUMP_CLASSNAME,
|
|
|
|
NS_INPUTSTREAMPUMP_CID,
|
|
|
|
NS_INPUTSTREAMPUMP_CONTRACTID,
|
|
|
|
nsInputStreamPumpConstructor },
|
|
|
|
{ NS_INPUTSTREAMCHANNEL_CLASSNAME,
|
|
|
|
NS_INPUTSTREAMCHANNEL_CID,
|
|
|
|
NS_INPUTSTREAMCHANNEL_CONTRACTID,
|
|
|
|
nsInputStreamChannelConstructor },
|
2002-05-03 07:49:43 +00:00
|
|
|
{ NS_STREAMLOADER_CLASSNAME,
|
2000-02-02 23:04:47 +00:00
|
|
|
NS_STREAMLOADER_CID,
|
2002-05-03 07:49:43 +00:00
|
|
|
NS_STREAMLOADER_CONTRACTID,
|
2000-02-02 23:04:47 +00:00
|
|
|
nsStreamLoader::Create },
|
2002-08-27 23:47:25 +00:00
|
|
|
{ NS_UNICHARSTREAMLOADER_CLASSNAME,
|
|
|
|
NS_UNICHARSTREAMLOADER_CID,
|
|
|
|
NS_UNICHARSTREAMLOADER_CONTRACTID,
|
|
|
|
nsUnicharStreamLoader::Create },
|
2001-04-17 10:47:22 +00:00
|
|
|
{ NS_DOWNLOADER_CLASSNAME,
|
2000-09-15 19:27:05 +00:00
|
|
|
NS_DOWNLOADER_CID,
|
2001-04-17 10:47:22 +00:00
|
|
|
NS_DOWNLOADER_CONTRACTID,
|
2003-06-23 22:58:28 +00:00
|
|
|
nsDownloaderConstructor },
|
2003-10-08 04:27:13 +00:00
|
|
|
{ NS_SYNCSTREAMLISTENER_CLASSNAME,
|
|
|
|
NS_SYNCSTREAMLISTENER_CID,
|
|
|
|
NS_SYNCSTREAMLISTENER_CONTRACTID,
|
|
|
|
nsSyncStreamListenerConstructor },
|
2001-04-10 06:01:08 +00:00
|
|
|
{ NS_REQUESTOBSERVERPROXY_CLASSNAME,
|
|
|
|
NS_REQUESTOBSERVERPROXY_CID,
|
|
|
|
NS_REQUESTOBSERVERPROXY_CONTRACTID,
|
|
|
|
nsRequestObserverProxyConstructor },
|
2001-01-23 22:10:34 +00:00
|
|
|
{ NS_SIMPLESTREAMLISTENER_CLASSNAME,
|
|
|
|
NS_SIMPLESTREAMLISTENER_CID,
|
|
|
|
NS_SIMPLESTREAMLISTENER_CONTRACTID,
|
|
|
|
nsSimpleStreamListenerConstructor },
|
2001-03-08 00:58:06 +00:00
|
|
|
{ NS_ASYNCSTREAMLISTENER_CLASSNAME,
|
1999-11-12 09:07:26 +00:00
|
|
|
NS_ASYNCSTREAMLISTENER_CID,
|
2001-03-08 00:58:06 +00:00
|
|
|
NS_ASYNCSTREAMLISTENER_CONTRACTID,
|
1999-11-12 09:07:26 +00:00
|
|
|
nsAsyncStreamListener::Create },
|
2001-03-08 00:58:06 +00:00
|
|
|
{ NS_STREAMLISTENERTEE_CLASSNAME,
|
|
|
|
NS_STREAMLISTENERTEE_CID,
|
|
|
|
NS_STREAMLISTENERTEE_CONTRACTID,
|
|
|
|
nsStreamListenerTeeConstructor },
|
2001-04-10 06:01:08 +00:00
|
|
|
{ NS_LOADGROUP_CLASSNAME,
|
1999-11-12 09:07:26 +00:00
|
|
|
NS_LOADGROUP_CID,
|
2001-04-10 06:01:08 +00:00
|
|
|
NS_LOADGROUP_CONTRACTID,
|
2000-01-24 21:28:28 +00:00
|
|
|
nsLoadGroup::Create },
|
2000-03-29 03:58:50 +00:00
|
|
|
{ NS_LOCALFILEINPUTSTREAM_CLASSNAME,
|
|
|
|
NS_LOCALFILEINPUTSTREAM_CID,
|
2000-09-13 23:57:52 +00:00
|
|
|
NS_LOCALFILEINPUTSTREAM_CONTRACTID,
|
2000-01-24 21:28:28 +00:00
|
|
|
nsFileInputStream::Create },
|
2000-03-29 03:58:50 +00:00
|
|
|
{ NS_LOCALFILEOUTPUTSTREAM_CLASSNAME,
|
|
|
|
NS_LOCALFILEOUTPUTSTREAM_CID,
|
2000-09-13 23:57:52 +00:00
|
|
|
NS_LOCALFILEOUTPUTSTREAM_CONTRACTID,
|
2000-02-03 03:44:22 +00:00
|
|
|
nsFileOutputStream::Create },
|
2004-07-06 20:35:40 +00:00
|
|
|
{ NS_SAFELOCALFILEOUTPUTSTREAM_CLASSNAME,
|
|
|
|
NS_SAFELOCALFILEOUTPUTSTREAM_CID,
|
|
|
|
NS_SAFELOCALFILEOUTPUTSTREAM_CONTRACTID,
|
|
|
|
nsSafeFileOutputStreamConstructor
|
|
|
|
},
|
2001-06-21 22:02:47 +00:00
|
|
|
|
2001-10-03 00:40:10 +00:00
|
|
|
{ "URIChecker",
|
|
|
|
NS_URICHECKER_CID,
|
|
|
|
NS_URICHECKER_CONTRACT_ID,
|
|
|
|
nsURICheckerConstructor
|
|
|
|
},
|
|
|
|
|
2001-12-23 23:23:41 +00:00
|
|
|
// The register functions for the built-in
|
2001-06-21 22:02:47 +00:00
|
|
|
// parsers just need to be called once.
|
2001-11-16 02:09:13 +00:00
|
|
|
{ NS_STDURLPARSER_CLASSNAME,
|
|
|
|
NS_STDURLPARSER_CID,
|
|
|
|
NS_STDURLPARSER_CONTRACTID,
|
2002-09-13 19:32:45 +00:00
|
|
|
nsStdURLParserConstructor},
|
2001-11-16 02:09:13 +00:00
|
|
|
{ NS_NOAUTHURLPARSER_CLASSNAME,
|
|
|
|
NS_NOAUTHURLPARSER_CID,
|
|
|
|
NS_NOAUTHURLPARSER_CONTRACTID,
|
|
|
|
nsNoAuthURLParserConstructor },
|
|
|
|
{ NS_AUTHURLPARSER_CLASSNAME,
|
|
|
|
NS_AUTHURLPARSER_CID,
|
|
|
|
NS_AUTHURLPARSER_CONTRACTID,
|
|
|
|
nsAuthURLParserConstructor },
|
|
|
|
|
|
|
|
{ NS_STANDARDURL_CLASSNAME,
|
|
|
|
NS_STANDARDURL_CID,
|
|
|
|
NS_STANDARDURL_CONTRACTID,
|
|
|
|
nsStandardURLConstructor },
|
2001-06-21 22:02:47 +00:00
|
|
|
|
2000-02-04 07:31:43 +00:00
|
|
|
{ NS_BUFFEREDINPUTSTREAM_CLASSNAME,
|
|
|
|
NS_BUFFEREDINPUTSTREAM_CID,
|
2000-09-13 23:57:52 +00:00
|
|
|
NS_BUFFEREDINPUTSTREAM_CONTRACTID,
|
2000-02-04 07:31:43 +00:00
|
|
|
nsBufferedInputStream::Create },
|
|
|
|
{ NS_BUFFEREDOUTPUTSTREAM_CLASSNAME,
|
|
|
|
NS_BUFFEREDOUTPUTSTREAM_CID,
|
2000-09-13 23:57:52 +00:00
|
|
|
NS_BUFFEREDOUTPUTSTREAM_CONTRACTID,
|
2000-02-15 21:58:59 +00:00
|
|
|
nsBufferedOutputStream::Create },
|
2002-02-16 01:19:24 +00:00
|
|
|
{ NS_MIMEINPUTSTREAM_CLASSNAME,
|
|
|
|
NS_MIMEINPUTSTREAM_CID,
|
|
|
|
NS_MIMEINPUTSTREAM_CONTRACTID,
|
|
|
|
nsMIMEInputStreamConstructor },
|
2003-04-11 18:24:55 +00:00
|
|
|
{ NS_PROTOCOLPROXYSERVICE_CLASSNAME,
|
2000-02-15 21:58:59 +00:00
|
|
|
NS_PROTOCOLPROXYSERVICE_CID,
|
2003-04-11 18:24:55 +00:00
|
|
|
NS_PROTOCOLPROXYSERVICE_CONTRACTID,
|
|
|
|
nsProtocolProxyServiceConstructor },
|
2000-05-06 09:15:56 +00:00
|
|
|
|
|
|
|
// from netwerk/streamconv:
|
2001-03-08 00:41:53 +00:00
|
|
|
|
2001-12-23 23:23:41 +00:00
|
|
|
// this converter is "always" built.
|
2001-03-08 00:41:53 +00:00
|
|
|
// HACK-ALERT, register *all* converters
|
2001-12-23 23:23:41 +00:00
|
|
|
// in this converter's component manager
|
2001-03-08 00:41:53 +00:00
|
|
|
// registration. just piggy backing here until
|
|
|
|
// you can add registration functions to
|
|
|
|
// the generic module macro.
|
2000-05-06 09:15:56 +00:00
|
|
|
{ "Stream Converter Service",
|
|
|
|
NS_STREAMCONVERTERSERVICE_CID,
|
2000-09-13 23:57:52 +00:00
|
|
|
"@mozilla.org/streamConverters;1",
|
2001-03-08 00:41:53 +00:00
|
|
|
CreateNewStreamConvServiceFactory,
|
|
|
|
RegisterStreamConverters, // registers *all* converters
|
|
|
|
UnregisterStreamConverters // unregisters *all* converters
|
|
|
|
},
|
2001-06-25 22:11:43 +00:00
|
|
|
|
2002-10-08 03:12:32 +00:00
|
|
|
#ifdef BUILD_APPLEFILE_DECODER
|
2001-06-25 22:11:43 +00:00
|
|
|
{ NS_APPLEFILEDECODER_CLASSNAME,
|
|
|
|
NS_APPLEFILEDECODER_CID,
|
|
|
|
NS_IAPPLEFILEDECODER_CONTRACTID,
|
|
|
|
nsAppleFileDecoderConstructor
|
|
|
|
},
|
|
|
|
#endif
|
2000-05-06 09:15:56 +00:00
|
|
|
|
2003-07-11 22:13:30 +00:00
|
|
|
#ifdef NECKO_PROTOCOL_ftp
|
2000-05-06 09:15:56 +00:00
|
|
|
// from netwerk/streamconv/converters:
|
|
|
|
{ "FTPDirListingConverter",
|
2001-03-08 00:41:53 +00:00
|
|
|
NS_FTPDIRLISTINGCONVERTER_CID,
|
2002-08-29 03:13:18 +00:00
|
|
|
NS_ISTREAMCONVERTER_KEY FTP_TO_INDEX,
|
2001-09-20 14:16:14 +00:00
|
|
|
CreateNewFTPDirListingConv
|
|
|
|
},
|
2003-07-11 22:13:30 +00:00
|
|
|
#endif
|
2001-09-20 14:16:14 +00:00
|
|
|
|
2003-07-11 22:13:30 +00:00
|
|
|
#ifdef NECKO_PROTOCOL_gopher
|
2001-03-14 02:51:01 +00:00
|
|
|
{ "GopherDirListingConverter",
|
|
|
|
NS_GOPHERDIRLISTINGCONVERTER_CID,
|
|
|
|
NS_ISTREAMCONVERTER_KEY GOPHER_TO_INDEX,
|
|
|
|
CreateNewGopherDirListingConv
|
2003-07-11 22:13:30 +00:00
|
|
|
},
|
|
|
|
#endif
|
2001-03-14 02:51:01 +00:00
|
|
|
|
2001-03-06 02:14:42 +00:00
|
|
|
{ "Indexed to HTML Converter",
|
|
|
|
NS_NSINDEXEDTOHTMLCONVERTER_CID,
|
2001-03-08 00:41:53 +00:00
|
|
|
NS_ISTREAMCONVERTER_KEY INDEX_TO_HTML,
|
2001-03-06 02:14:42 +00:00
|
|
|
nsIndexedToHTML::Create
|
|
|
|
},
|
2001-10-03 00:43:30 +00:00
|
|
|
|
|
|
|
{ "Directory Index Parser",
|
|
|
|
NS_DIRINDEXPARSER_CID,
|
|
|
|
NS_DIRINDEXPARSER_CONTRACTID,
|
|
|
|
nsDirIndexParserConstructor
|
|
|
|
},
|
|
|
|
|
2000-05-06 09:15:56 +00:00
|
|
|
{ "MultiMixedConverter",
|
|
|
|
NS_MULTIMIXEDCONVERTER_CID,
|
2001-03-08 00:41:53 +00:00
|
|
|
NS_ISTREAMCONVERTER_KEY MULTI_MIXED_X,
|
2000-05-06 09:15:56 +00:00
|
|
|
CreateNewMultiMixedConvFactory
|
|
|
|
},
|
|
|
|
|
2001-05-18 22:20:11 +00:00
|
|
|
{ "MultiMixedByteRange",
|
|
|
|
NS_MULTIMIXEDCONVERTER_CID,
|
|
|
|
NS_ISTREAMCONVERTER_KEY MULTI_BYTERANGES,
|
|
|
|
CreateNewMultiMixedConvFactory
|
|
|
|
},
|
|
|
|
|
2000-05-06 09:15:56 +00:00
|
|
|
{ "MultiMixedConverter2",
|
|
|
|
NS_MULTIMIXEDCONVERTER_CID,
|
2001-03-08 00:41:53 +00:00
|
|
|
NS_ISTREAMCONVERTER_KEY MULTI_MIXED,
|
2000-05-06 09:15:56 +00:00
|
|
|
CreateNewMultiMixedConvFactory
|
|
|
|
},
|
2002-09-03 22:10:08 +00:00
|
|
|
|
2000-05-06 09:15:56 +00:00
|
|
|
{ "Unknown Content-Type Decoder",
|
|
|
|
NS_UNKNOWNDECODER_CID,
|
2001-03-08 00:41:53 +00:00
|
|
|
NS_ISTREAMCONVERTER_KEY UNKNOWN_CONTENT,
|
2000-05-06 09:15:56 +00:00
|
|
|
CreateNewUnknownDecoderFactory
|
|
|
|
},
|
|
|
|
|
2004-01-08 03:56:02 +00:00
|
|
|
{ "Binary Detector",
|
|
|
|
NS_BINARYDETECTOR_CID,
|
|
|
|
NS_ISTREAMCONVERTER_KEY MAYBE_TEXT,
|
|
|
|
CreateNewBinaryDetectorFactory
|
|
|
|
},
|
|
|
|
|
2000-05-06 09:15:56 +00:00
|
|
|
{ "HttpCompressConverter",
|
|
|
|
NS_HTTPCOMPRESSCONVERTER_CID,
|
2001-03-08 00:41:53 +00:00
|
|
|
NS_ISTREAMCONVERTER_KEY GZIP_TO_UNCOMPRESSED,
|
2000-05-06 09:15:56 +00:00
|
|
|
CreateNewHTTPCompressConvFactory
|
|
|
|
},
|
|
|
|
|
|
|
|
{ "HttpCompressConverter",
|
|
|
|
NS_HTTPCOMPRESSCONVERTER_CID,
|
2001-03-08 00:41:53 +00:00
|
|
|
NS_ISTREAMCONVERTER_KEY XGZIP_TO_UNCOMPRESSED,
|
2000-05-06 09:15:56 +00:00
|
|
|
CreateNewHTTPCompressConvFactory
|
|
|
|
},
|
|
|
|
{ "HttpCompressConverter",
|
|
|
|
NS_HTTPCOMPRESSCONVERTER_CID,
|
2001-03-08 00:41:53 +00:00
|
|
|
NS_ISTREAMCONVERTER_KEY COMPRESS_TO_UNCOMPRESSED,
|
2000-05-06 09:15:56 +00:00
|
|
|
CreateNewHTTPCompressConvFactory
|
|
|
|
},
|
|
|
|
{ "HttpCompressConverter",
|
|
|
|
NS_HTTPCOMPRESSCONVERTER_CID,
|
2001-03-08 00:41:53 +00:00
|
|
|
NS_ISTREAMCONVERTER_KEY XCOMPRESS_TO_UNCOMPRESSED,
|
2000-05-06 09:15:56 +00:00
|
|
|
CreateNewHTTPCompressConvFactory
|
|
|
|
},
|
|
|
|
{ "HttpCompressConverter",
|
|
|
|
NS_HTTPCOMPRESSCONVERTER_CID,
|
2001-03-08 00:41:53 +00:00
|
|
|
NS_ISTREAMCONVERTER_KEY DEFLATE_TO_UNCOMPRESSED,
|
2000-05-06 09:15:56 +00:00
|
|
|
CreateNewHTTPCompressConvFactory
|
|
|
|
},
|
|
|
|
{ "NSTXTToHTMLConverter",
|
|
|
|
NS_NSTXTTOHTMLCONVERTER_CID,
|
2001-03-08 00:41:53 +00:00
|
|
|
NS_ISTREAMCONVERTER_KEY PLAIN_TO_HTML,
|
2000-05-06 09:15:56 +00:00
|
|
|
CreateNewNSTXTToHTMLConvFactory
|
2001-06-28 01:09:51 +00:00
|
|
|
},
|
2002-10-08 03:12:32 +00:00
|
|
|
#ifdef BUILD_BINHEX_DECODER
|
2001-06-28 01:09:51 +00:00
|
|
|
{ "nsBinHexConverter", NS_BINHEXDECODER_CID,
|
|
|
|
NS_ISTREAMCONVERTER_KEY BINHEX_TO_WILD,
|
|
|
|
nsBinHexDecoderConstructor
|
|
|
|
},
|
|
|
|
#endif
|
2003-07-09 02:28:07 +00:00
|
|
|
// This is not a real stream converter, it's just
|
|
|
|
// registering its cid factory here.
|
|
|
|
{ "HACK-TXTToHTMLConverter",
|
|
|
|
MOZITXTTOHTMLCONV_CID,
|
|
|
|
MOZ_TXTTOHTMLCONV_CONTRACTID,
|
|
|
|
CreateNewTXTToHTMLConvFactory
|
2000-05-06 09:15:56 +00:00
|
|
|
},
|
2001-10-03 00:43:30 +00:00
|
|
|
|
|
|
|
{ "Directory Index",
|
|
|
|
NS_DIRINDEX_CID,
|
|
|
|
"@mozilla.org/dirIndex;1",
|
|
|
|
nsDirIndexConstructor
|
|
|
|
},
|
|
|
|
|
2000-05-06 09:15:56 +00:00
|
|
|
// from netwerk/mime:
|
2003-06-12 21:57:49 +00:00
|
|
|
{ "mime header param",
|
|
|
|
NS_MIMEHEADERPARAM_CID,
|
|
|
|
NS_MIMEHEADERPARAM_CONTRACTID,
|
|
|
|
nsMIMEHeaderParamImplConstructor
|
|
|
|
},
|
|
|
|
|
2003-04-23 03:47:43 +00:00
|
|
|
#ifdef NECKO_PROTOCOL_file
|
2000-05-06 09:15:56 +00:00
|
|
|
// from netwerk/protocol/file:
|
2003-01-18 02:15:14 +00:00
|
|
|
{ NS_FILEPROTOCOLHANDLER_CLASSNAME,
|
2000-05-06 09:15:56 +00:00
|
|
|
NS_FILEPROTOCOLHANDLER_CID,
|
2000-09-13 23:57:52 +00:00
|
|
|
NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "file",
|
2003-01-18 02:15:14 +00:00
|
|
|
nsFileProtocolHandlerConstructor
|
2000-05-06 09:15:56 +00:00
|
|
|
},
|
2003-04-23 03:47:43 +00:00
|
|
|
#endif
|
2001-05-11 21:04:09 +00:00
|
|
|
|
2003-04-23 03:47:43 +00:00
|
|
|
#ifdef NECKO_PROTOCOL_http
|
2001-05-11 21:04:09 +00:00
|
|
|
{ "HTTP Handler",
|
|
|
|
NS_HTTPPROTOCOLHANDLER_CID,
|
|
|
|
NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "http",
|
2002-08-13 20:33:45 +00:00
|
|
|
nsHttpHandlerConstructor },
|
2001-05-11 21:04:09 +00:00
|
|
|
|
|
|
|
{ "HTTPS Handler",
|
2002-08-13 20:33:45 +00:00
|
|
|
NS_HTTPSPROTOCOLHANDLER_CID,
|
2001-05-11 21:04:09 +00:00
|
|
|
NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "https",
|
2002-08-13 20:33:45 +00:00
|
|
|
nsHttpsHandlerConstructor },
|
2001-05-11 21:04:09 +00:00
|
|
|
|
|
|
|
{ "HTTP Basic Auth Encoder",
|
|
|
|
NS_HTTPBASICAUTH_CID,
|
|
|
|
NS_HTTP_AUTHENTICATOR_CONTRACTID_PREFIX "basic",
|
|
|
|
nsHttpBasicAuthConstructor },
|
2000-05-06 09:15:56 +00:00
|
|
|
|
2001-12-05 01:09:38 +00:00
|
|
|
{ "HTTP Digest Auth Encoder",
|
|
|
|
NS_HTTPDIGESTAUTH_CID,
|
|
|
|
NS_HTTP_AUTHENTICATOR_CONTRACTID_PREFIX "digest",
|
|
|
|
nsHttpDigestAuthConstructor },
|
|
|
|
|
2003-03-27 19:31:53 +00:00
|
|
|
{ "HTTP NTLM Auth Encoder",
|
|
|
|
NS_HTTPNTLMAUTH_CID,
|
|
|
|
NS_HTTP_AUTHENTICATOR_CONTRACTID_PREFIX "ntlm",
|
|
|
|
nsHttpNTLMAuthConstructor },
|
|
|
|
|
2003-03-24 03:59:47 +00:00
|
|
|
{ NS_HTTPAUTHMANAGER_CLASSNAME,
|
|
|
|
NS_HTTPAUTHMANAGER_CID,
|
|
|
|
NS_HTTPAUTHMANAGER_CONTRACTID,
|
|
|
|
nsHttpAuthManagerConstructor },
|
2003-04-23 03:47:43 +00:00
|
|
|
#endif // !NECKO_PROTOCOL_http
|
2003-03-24 03:59:47 +00:00
|
|
|
|
2003-04-23 03:47:43 +00:00
|
|
|
#ifdef NECKO_PROTOCOL_ftp
|
2003-01-07 21:56:32 +00:00
|
|
|
// from netwerk/protocol/ftp:
|
2003-04-08 22:18:10 +00:00
|
|
|
{ NS_FTPPROTOCOLHANDLER_CLASSNAME,
|
2003-01-07 21:56:32 +00:00
|
|
|
NS_FTPPROTOCOLHANDLER_CID,
|
|
|
|
NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "ftp",
|
|
|
|
nsFtpProtocolHandlerConstructor
|
2000-05-06 09:15:56 +00:00
|
|
|
},
|
2003-04-23 03:47:43 +00:00
|
|
|
#endif
|
2000-05-06 09:15:56 +00:00
|
|
|
|
2003-04-23 03:47:43 +00:00
|
|
|
#ifdef NECKO_PROTOCOL_res
|
2000-05-06 09:15:56 +00:00
|
|
|
// from netwerk/protocol/res:
|
2003-01-18 02:15:14 +00:00
|
|
|
{ NS_RESPROTOCOLHANDLER_CLASSNAME,
|
2000-05-06 09:15:56 +00:00
|
|
|
NS_RESPROTOCOLHANDLER_CID,
|
2000-09-13 23:57:52 +00:00
|
|
|
NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "resource",
|
2001-09-20 01:32:16 +00:00
|
|
|
nsResProtocolHandlerConstructor
|
2000-05-06 09:15:56 +00:00
|
|
|
},
|
2004-12-02 06:59:34 +00:00
|
|
|
{ NS_RESURL_CLASSNAME, // needed only for fastload
|
|
|
|
NS_RESURL_CID,
|
|
|
|
nsnull,
|
|
|
|
nsResURLConstructor
|
|
|
|
},
|
2003-04-23 03:47:43 +00:00
|
|
|
#endif
|
2000-05-06 09:15:56 +00:00
|
|
|
|
2003-04-23 03:47:43 +00:00
|
|
|
// from netwerk/protocol/about (about:blank is mandatory):
|
2000-05-06 09:15:56 +00:00
|
|
|
{ "About Protocol Handler",
|
|
|
|
NS_ABOUTPROTOCOLHANDLER_CID,
|
2000-09-13 23:57:52 +00:00
|
|
|
NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "about",
|
2000-05-06 09:15:56 +00:00
|
|
|
nsAboutProtocolHandler::Create
|
|
|
|
},
|
|
|
|
{ "about:blank",
|
|
|
|
NS_ABOUT_BLANK_MODULE_CID,
|
2000-09-13 23:57:52 +00:00
|
|
|
NS_ABOUT_MODULE_CONTRACTID_PREFIX "blank",
|
2000-05-06 09:15:56 +00:00
|
|
|
nsAboutBlank::Create
|
|
|
|
},
|
2003-04-23 03:47:43 +00:00
|
|
|
#ifdef NECKO_PROTOCOL_about
|
2000-05-06 09:15:56 +00:00
|
|
|
{ "about:bloat",
|
|
|
|
NS_ABOUT_BLOAT_MODULE_CID,
|
2000-09-13 23:57:52 +00:00
|
|
|
NS_ABOUT_MODULE_CONTRACTID_PREFIX "bloat",
|
2000-05-06 09:15:56 +00:00
|
|
|
nsAboutBloat::Create
|
|
|
|
},
|
2001-09-01 06:01:25 +00:00
|
|
|
{ "about:config",
|
2002-02-27 11:54:35 +00:00
|
|
|
NS_ABOUT_REDIRECTOR_MODULE_CID,
|
2001-09-01 06:01:25 +00:00
|
|
|
NS_ABOUT_MODULE_CONTRACTID_PREFIX "config",
|
2002-02-27 11:54:35 +00:00
|
|
|
nsAboutRedirector::Create
|
2001-09-01 06:01:25 +00:00
|
|
|
},
|
2000-05-06 09:15:56 +00:00
|
|
|
{ "about:credits",
|
2001-04-18 03:09:32 +00:00
|
|
|
NS_ABOUT_REDIRECTOR_MODULE_CID,
|
2000-09-13 23:57:52 +00:00
|
|
|
NS_ABOUT_MODULE_CONTRACTID_PREFIX "credits",
|
2001-04-18 03:09:32 +00:00
|
|
|
nsAboutRedirector::Create
|
2000-05-06 09:15:56 +00:00
|
|
|
},
|
2000-09-22 09:05:57 +00:00
|
|
|
{ "about:plugins",
|
2001-04-18 03:09:32 +00:00
|
|
|
NS_ABOUT_REDIRECTOR_MODULE_CID,
|
2000-09-22 09:05:57 +00:00
|
|
|
NS_ABOUT_MODULE_CONTRACTID_PREFIX "plugins",
|
2001-04-18 03:09:32 +00:00
|
|
|
nsAboutRedirector::Create
|
2000-09-22 09:05:57 +00:00
|
|
|
},
|
2000-05-06 09:15:56 +00:00
|
|
|
{ "about:mozilla",
|
2001-04-18 03:09:32 +00:00
|
|
|
NS_ABOUT_REDIRECTOR_MODULE_CID,
|
2000-09-13 23:57:52 +00:00
|
|
|
NS_ABOUT_MODULE_CONTRACTID_PREFIX "mozilla",
|
2001-04-18 03:09:32 +00:00
|
|
|
nsAboutRedirector::Create
|
2000-05-06 09:15:56 +00:00
|
|
|
},
|
2002-12-25 22:17:54 +00:00
|
|
|
{ "about:logo",
|
|
|
|
NS_ABOUT_REDIRECTOR_MODULE_CID,
|
|
|
|
NS_ABOUT_MODULE_CONTRACTID_PREFIX "logo",
|
|
|
|
nsAboutRedirector::Create
|
|
|
|
},
|
2003-02-22 05:27:42 +00:00
|
|
|
{ "about:buildconfig",
|
|
|
|
NS_ABOUT_REDIRECTOR_MODULE_CID,
|
|
|
|
NS_ABOUT_MODULE_CONTRACTID_PREFIX "buildconfig",
|
|
|
|
nsAboutRedirector::Create
|
|
|
|
},
|
2003-09-13 19:35:59 +00:00
|
|
|
{ "about:about",
|
|
|
|
NS_ABOUT_REDIRECTOR_MODULE_CID,
|
|
|
|
NS_ABOUT_MODULE_CONTRACTID_PREFIX "about",
|
|
|
|
nsAboutRedirector::Create
|
|
|
|
},
|
2003-01-18 02:15:14 +00:00
|
|
|
|
2000-09-19 22:33:55 +00:00
|
|
|
{ "about:cache",
|
|
|
|
NS_ABOUT_CACHE_MODULE_CID,
|
|
|
|
NS_ABOUT_MODULE_CONTRACTID_PREFIX "cache",
|
|
|
|
nsAboutCache::Create
|
|
|
|
},
|
2001-03-13 22:44:34 +00:00
|
|
|
{ "about:cache-entry",
|
|
|
|
NS_ABOUT_CACHE_ENTRY_MODULE_CID,
|
|
|
|
NS_ABOUT_MODULE_CONTRACTID_PREFIX "cache-entry",
|
|
|
|
nsAboutCacheEntryConstructor
|
|
|
|
},
|
2003-04-23 03:47:43 +00:00
|
|
|
#endif
|
2003-01-18 02:15:14 +00:00
|
|
|
|
2003-09-11 20:32:33 +00:00
|
|
|
{ "nsSOCKSSocketProvider",
|
2000-07-01 10:25:25 +00:00
|
|
|
NS_SOCKSSOCKETPROVIDER_CID,
|
2003-09-11 20:32:33 +00:00
|
|
|
NS_NETWORK_SOCKET_CONTRACTID_PREFIX "socks",
|
|
|
|
nsSOCKSSocketProvider::CreateV5
|
2001-07-25 00:28:28 +00:00
|
|
|
},
|
|
|
|
|
2003-09-11 20:32:33 +00:00
|
|
|
{ "nsSOCKS4SocketProvider",
|
2001-07-25 00:28:28 +00:00
|
|
|
NS_SOCKS4SOCKETPROVIDER_CID,
|
2003-09-11 20:32:33 +00:00
|
|
|
NS_NETWORK_SOCKET_CONTRACTID_PREFIX "socks4",
|
|
|
|
nsSOCKSSocketProvider::CreateV4
|
2002-09-19 18:29:56 +00:00
|
|
|
},
|
2000-05-06 09:15:56 +00:00
|
|
|
|
2002-09-19 18:29:56 +00:00
|
|
|
{ NS_CACHESERVICE_CLASSNAME,
|
|
|
|
NS_CACHESERVICE_CID,
|
|
|
|
NS_CACHESERVICE_CONTRACTID,
|
|
|
|
nsCacheService::Create
|
|
|
|
},
|
2001-07-25 00:28:28 +00:00
|
|
|
|
2004-07-19 04:57:02 +00:00
|
|
|
#ifdef NECKO_COOKIES
|
2003-10-30 02:59:31 +00:00
|
|
|
{ NS_COOKIEMANAGER_CLASSNAME,
|
2003-10-10 23:08:01 +00:00
|
|
|
NS_COOKIEMANAGER_CID,
|
|
|
|
NS_COOKIEMANAGER_CONTRACTID,
|
|
|
|
nsCookieServiceConstructor
|
|
|
|
},
|
|
|
|
|
2003-10-30 02:59:31 +00:00
|
|
|
{ NS_COOKIESERVICE_CLASSNAME,
|
2003-10-10 23:08:01 +00:00
|
|
|
NS_COOKIESERVICE_CID,
|
|
|
|
NS_COOKIESERVICE_CONTRACTID,
|
|
|
|
nsCookieServiceConstructor
|
|
|
|
},
|
2004-07-19 04:57:02 +00:00
|
|
|
#endif
|
2003-10-10 23:08:01 +00:00
|
|
|
|
1999-09-30 01:53:31 +00:00
|
|
|
};
|
|
|
|
|
2001-05-05 05:33:37 +00:00
|
|
|
NS_IMPL_NSGETMODULE_WITH_DTOR(necko_core_and_primary_protocols, gNetModuleInfo,
|
2000-05-25 08:27:40 +00:00
|
|
|
nsNeckoShutdown)
|