зеркало из https://github.com/mozilla/gecko-dev.git
138 строки
4.9 KiB
C++
138 строки
4.9 KiB
C++
/* -*- 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
|
|
|
|
}
|
|
|
|
|
|
|
|
|