From 4ad2fcb8e0f191116078e4acefb3d7ca71b91fb7 Mon Sep 17 00:00:00 2001 From: "ashuk%eng.sun.com" Date: Tue, 7 Mar 2000 22:45:37 +0000 Subject: [PATCH] a=edburns r=edburns author=ashuk bug=28407 New native code for spec-compliant impl ported to solaris -- Ashu K. git-svn-id: svn://10.0.0.236/trunk@62345 18797224-902f-48f8-a5cc-f745e15eee43 --- .../webclient/src_moz/nsSetupRegistry.cpp | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100755 mozilla/java/webclient/src_moz/nsSetupRegistry.cpp diff --git a/mozilla/java/webclient/src_moz/nsSetupRegistry.cpp b/mozilla/java/webclient/src_moz/nsSetupRegistry.cpp new file mode 100755 index 00000000000..ec749d40994 --- /dev/null +++ b/mozilla/java/webclient/src_moz/nsSetupRegistry.cpp @@ -0,0 +1,137 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * 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 Communicator client 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): + */ + +#define NS_IMPL_IDS +#include "nsIAppShellService.h" +#include "nsICmdLineService.h" +#include "nsIDOMXPConnectFactory.h" +#include "nsAppShellCIDs.h" +#include "nsINetSupportDialogService.h" +#include "nsIEditor.h" +#include "nsIComponentManager.h" +#include "nsIServiceManager.h" + +#include "nsFileSpec.h" +#include "nsFileLocations.h" +#include "nsIFileLocator.h" +#include "nsIFileSpec.h" + +#include "nsISessionHistory.h" +#include "rdf.h" +#include "nsIWindowMediator.h" +#include "nsICommonDialogs.h" +#include "nsIDialogParamBlock.h" +// #include "nsAbout.h" +#include "nsIAboutModule.h" +static NS_DEFINE_CID(kSessionHistoryCID, NS_SESSIONHISTORY_CID); +static NS_DEFINE_CID( kCommonDialogsCID, NS_CommonDialog_CID ); +#ifdef XP_PC + +#define APPSHELL_DLL "appshell.dll" +#define BROWSER_DLL "nsbrowser.dll" +#define EDITOR_DLL "ender.dll" + +#else + +#ifdef XP_MAC + +#define APPSHELL_DLL "APPSHELL_DLL" +#define EDITOR_DLL "ENDER_DLL" + +#else + +// XP_UNIX || XP_BEOS +#define APPSHELL_DLL "libnsappshell"MOZ_DLL_SUFFIX +#define APPCORES_DLL "libappcores"MOZ_DLL_SUFFIX +#define EDITOR_DLL "libender"MOZ_DLL_SUFFIX + +#endif // XP_MAC + +#endif // XP_PC + +// Class IDs +static NS_DEFINE_CID(kCAppShellServiceCID, NS_APPSHELL_SERVICE_CID); +static NS_DEFINE_CID(kCCmdLineServiceCID, NS_COMMANDLINE_SERVICE_CID); +static NS_DEFINE_CID(kXPConnectFactoryCID, NS_XPCONNECTFACTORY_CID); +static NS_DEFINE_CID(kNetSupportDialogCID, NS_NETSUPPORTDIALOG_CID); +static NS_DEFINE_CID(kProtocolHelperCID, NS_PROTOCOL_HELPER_CID); +static NS_DEFINE_CID(kWindowMediatorCID, NS_WINDOWMEDIATOR_CID); +static NS_DEFINE_CID( kDialogParamBlockCID, NS_DialogParamBlock_CID ); +#define NS_ABOUT_CID \ +{ /* {1f1ce501-663a-11d3-b7a0-be426e4e69bc} */ \ +0x1f1ce501, 0x663a, 0x11d3, { 0xb7, 0xa0, 0xbe, 0x42, 0x6e, 0x4e, 0x69, 0xbc } \ +} +static NS_DEFINE_CID( kAboutModuleCID, NS_ABOUT_CID); +nsresult NS_AutoregisterComponents() +{ + nsresult rv = nsComponentManager::AutoRegister(nsIComponentManager::NS_Startup, + NULL /* default */); + return rv; +} + +/* + * This evil file will go away when the XPCOM registry can be + * externally initialized! + * + * Until then, include the real file to keep everything in sync. + */ +#ifdef XP_MAC +#include ":::webshell:tests:viewer:nsSetupRegistry.cpp" +#else +#include "../../webshell/tests/viewer/nsSetupRegistry.cpp" +#endif + +extern "C" void +NS_SetupRegistry_1() +{ + NS_AutoregisterComponents(); + + /* + * Call the standard NS_SetupRegistry() implemented in + * webshell/tests/viewer/nsSetupregistry.cpp + */ + NS_SetupRegistry(); + + // APPSHELL_DLL + + // FileLocator registration moved to viewer/nsSetupRegistry.cpp, as + // prefs (which viewer uses) needs it. + nsComponentManager::RegisterComponentLib(kCAppShellServiceCID, NULL, "component://netscape/appshell/appShellService", APPSHELL_DLL, PR_FALSE, PR_FALSE); + nsComponentManager::RegisterComponentLib(kCCmdLineServiceCID, NULL, NULL, APPSHELL_DLL, PR_FALSE, PR_FALSE); + nsComponentManager::RegisterComponentLib(kXPConnectFactoryCID, NULL, NULL, APPSHELL_DLL, PR_FALSE, PR_FALSE); + nsComponentManager::RegisterComponentLib(kNetSupportDialogCID, NULL, NULL, APPSHELL_DLL, PR_FALSE, PR_FALSE); + nsComponentManager::RegisterComponentLib(kProtocolHelperCID, NULL, NULL, APPSHELL_DLL, PR_FALSE, PR_FALSE); + nsComponentManager::RegisterComponentLib(kWindowMediatorCID, + "window-mediator", NS_RDF_DATASOURCE_PROGID_PREFIX "window-mediator", + APPSHELL_DLL, PR_FALSE, PR_FALSE); + nsComponentManager::RegisterComponentLib(kSessionHistoryCID, NULL, NULL, APPSHELL_DLL, PR_FALSE, PR_FALSE); + nsComponentManager::RegisterComponentLib(kCommonDialogsCID, NULL, "component://netscape/appshell/commonDialogs", APPSHELL_DLL, PR_FALSE, PR_FALSE); + nsComponentManager::RegisterComponentLib(kDialogParamBlockCID, NULL, NULL, APPSHELL_DLL, PR_FALSE, PR_FALSE); + nsComponentManager::RegisterComponentLib(kAboutModuleCID, "about:", NS_ABOUT_MODULE_PROGID_PREFIX, APPSHELL_DLL, PR_FALSE, PR_FALSE); + + //All Editor registration is done in webshell/tests/viewer/nsSetupregistry.cpp + +} + + + +