123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256 |
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
- #include "mozilla/ModuleUtils.h"
- #include "nsAppStartup.h"
- #include "nsNetCID.h"
- #ifdef MOZ_USERINFO
- #include "nsUserInfo.h"
- #endif
- #include "nsToolkitCompsCID.h"
- #include "nsFindService.h"
- #ifdef MOZ_UPDATER
- #include "nsUpdateDriver.h"
- #endif
- #if !defined(MOZ_DISABLE_PARENTAL_CONTROLS)
- #include "nsParentalControlsService.h"
- #endif
- #include "mozilla/AlertNotification.h"
- #include "nsAlertsService.h"
- #include "nsDownloadManager.h"
- #include "DownloadPlatform.h"
- #include "nsDownloadProxy.h"
- #include "rdf.h"
- #include "nsTypeAheadFind.h"
- #ifdef MOZ_URL_CLASSIFIER
- #include "ApplicationReputation.h"
- #include "nsUrlClassifierDBService.h"
- #include "nsUrlClassifierStreamUpdater.h"
- #include "nsUrlClassifierUtils.h"
- #include "nsUrlClassifierPrefixSet.h"
- #endif
- #include "nsBrowserStatusFilter.h"
- #include "mozilla/FinalizationWitnessService.h"
- #include "mozilla/NativeOSFileInternals.h"
- #include "mozilla/AddonPathService.h"
- #if defined(XP_WIN)
- #include "NativeFileWatcherWin.h"
- #else
- #include "NativeFileWatcherNotSupported.h"
- #endif // (XP_WIN)
- #define MOZ_HAS_TERMINATOR
- #include "nsTerminator.h"
- #define MOZ_HAS_PERFSTATS
- #if defined(MOZ_HAS_PERFSTATS)
- #include "nsPerformanceStats.h"
- #endif // defined (MOZ_HAS_PERFSTATS)
- using namespace mozilla;
- /////////////////////////////////////////////////////////////////////////////
- NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsAppStartup, Init)
- #if defined(MOZ_HAS_PERFSTATS)
- NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPerformanceStatsService, Init)
- #endif // defined (MOZ_HAS_PERFSTATS)
- #if defined(MOZ_HAS_TERMINATOR)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsTerminator)
- #endif
- #if defined(MOZ_USERINFO)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsUserInfo)
- #endif // defined (MOZ_USERINFO)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsFindService)
- #if !defined(MOZ_DISABLE_PARENTAL_CONTROLS)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsParentalControlsService)
- #endif
- NS_GENERIC_FACTORY_CONSTRUCTOR(AlertNotification)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsAlertsService)
- NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsDownloadManager,
- nsDownloadManager::GetSingleton)
- NS_GENERIC_FACTORY_CONSTRUCTOR(DownloadPlatform)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsDownloadProxy)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsTypeAheadFind)
- #ifdef MOZ_URL_CLASSIFIER
- NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(ApplicationReputationService,
- ApplicationReputationService::GetSingleton)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsUrlClassifierPrefixSet)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsUrlClassifierStreamUpdater)
- NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsUrlClassifierUtils, Init)
- static nsresult
- nsUrlClassifierDBServiceConstructor(nsISupports *aOuter, REFNSIID aIID,
- void **aResult)
- {
- nsresult rv;
- NS_ENSURE_ARG_POINTER(aResult);
- NS_ENSURE_NO_AGGREGATION(aOuter);
- nsUrlClassifierDBService *inst = nsUrlClassifierDBService::GetInstance(&rv);
- if (nullptr == inst) {
- return rv;
- }
- /* NS_ADDREF(inst); */
- rv = inst->QueryInterface(aIID, aResult);
- NS_RELEASE(inst);
- return rv;
- }
- #endif
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsBrowserStatusFilter)
- #ifdef MOZ_UPDATER
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsUpdateProcessor)
- #endif
- NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(FinalizationWitnessService, Init)
- NS_GENERIC_FACTORY_CONSTRUCTOR(NativeOSFileInternalsService)
- NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(NativeFileWatcherService, Init)
- NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(AddonPathService, AddonPathService::GetInstance)
- NS_DEFINE_NAMED_CID(NS_TOOLKIT_APPSTARTUP_CID);
- #if defined(MOZ_HAS_PERFSTATS)
- NS_DEFINE_NAMED_CID(NS_TOOLKIT_PERFORMANCESTATSSERVICE_CID);
- #endif // defined (MOZ_HAS_PERFSTATS)
- #if defined(MOZ_HAS_TERMINATOR)
- NS_DEFINE_NAMED_CID(NS_TOOLKIT_TERMINATOR_CID);
- #endif
- #if defined(MOZ_USERINFO)
- NS_DEFINE_NAMED_CID(NS_USERINFO_CID);
- #endif // defined (MOZ_USERINFO)
- NS_DEFINE_NAMED_CID(ALERT_NOTIFICATION_CID);
- NS_DEFINE_NAMED_CID(NS_ALERTSSERVICE_CID);
- #if !defined(MOZ_DISABLE_PARENTAL_CONTROLS)
- NS_DEFINE_NAMED_CID(NS_PARENTALCONTROLSSERVICE_CID);
- #endif
- NS_DEFINE_NAMED_CID(NS_DOWNLOADMANAGER_CID);
- NS_DEFINE_NAMED_CID(NS_DOWNLOADPLATFORM_CID);
- NS_DEFINE_NAMED_CID(NS_DOWNLOAD_CID);
- NS_DEFINE_NAMED_CID(NS_FIND_SERVICE_CID);
- NS_DEFINE_NAMED_CID(NS_TYPEAHEADFIND_CID);
- #ifdef MOZ_URL_CLASSIFIER
- NS_DEFINE_NAMED_CID(NS_APPLICATION_REPUTATION_SERVICE_CID);
- NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERPREFIXSET_CID);
- NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERDBSERVICE_CID);
- NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERSTREAMUPDATER_CID);
- NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERUTILS_CID);
- #endif
- NS_DEFINE_NAMED_CID(NS_BROWSERSTATUSFILTER_CID);
- #ifdef MOZ_UPDATER
- NS_DEFINE_NAMED_CID(NS_UPDATEPROCESSOR_CID);
- #endif
- NS_DEFINE_NAMED_CID(FINALIZATIONWITNESSSERVICE_CID);
- NS_DEFINE_NAMED_CID(NATIVE_OSFILE_INTERNALS_SERVICE_CID);
- NS_DEFINE_NAMED_CID(NS_ADDON_PATH_SERVICE_CID);
- NS_DEFINE_NAMED_CID(NATIVE_FILEWATCHER_SERVICE_CID);
- static const Module::CIDEntry kToolkitCIDs[] = {
- { &kNS_TOOLKIT_APPSTARTUP_CID, false, nullptr, nsAppStartupConstructor },
- #if defined(MOZ_HAS_TERMINATOR)
- { &kNS_TOOLKIT_TERMINATOR_CID, false, nullptr, nsTerminatorConstructor },
- #endif
- #if defined(MOZ_HAS_PERFSTATS)
- { &kNS_TOOLKIT_PERFORMANCESTATSSERVICE_CID, false, nullptr, nsPerformanceStatsServiceConstructor },
- #endif // defined (MOZ_HAS_PERFSTATS)
- #if defined(MOZ_USERINFO)
- { &kNS_USERINFO_CID, false, nullptr, nsUserInfoConstructor },
- #endif // defined (MOZ_USERINFO)
- { &kALERT_NOTIFICATION_CID, false, nullptr, AlertNotificationConstructor },
- { &kNS_ALERTSSERVICE_CID, false, nullptr, nsAlertsServiceConstructor },
- #if !defined(MOZ_DISABLE_PARENTAL_CONTROLS)
- { &kNS_PARENTALCONTROLSSERVICE_CID, false, nullptr, nsParentalControlsServiceConstructor },
- #endif
- { &kNS_DOWNLOADMANAGER_CID, false, nullptr, nsDownloadManagerConstructor },
- { &kNS_DOWNLOADPLATFORM_CID, false, nullptr, DownloadPlatformConstructor },
- { &kNS_DOWNLOAD_CID, false, nullptr, nsDownloadProxyConstructor },
- { &kNS_FIND_SERVICE_CID, false, nullptr, nsFindServiceConstructor },
- { &kNS_TYPEAHEADFIND_CID, false, nullptr, nsTypeAheadFindConstructor },
- #ifdef MOZ_URL_CLASSIFIER
- { &kNS_APPLICATION_REPUTATION_SERVICE_CID, false, nullptr, ApplicationReputationServiceConstructor },
- { &kNS_URLCLASSIFIERPREFIXSET_CID, false, nullptr, nsUrlClassifierPrefixSetConstructor },
- { &kNS_URLCLASSIFIERDBSERVICE_CID, false, nullptr, nsUrlClassifierDBServiceConstructor },
- { &kNS_URLCLASSIFIERSTREAMUPDATER_CID, false, nullptr, nsUrlClassifierStreamUpdaterConstructor },
- { &kNS_URLCLASSIFIERUTILS_CID, false, nullptr, nsUrlClassifierUtilsConstructor },
- #endif
- { &kNS_BROWSERSTATUSFILTER_CID, false, nullptr, nsBrowserStatusFilterConstructor },
- #ifdef MOZ_UPDATER
- { &kNS_UPDATEPROCESSOR_CID, false, nullptr, nsUpdateProcessorConstructor },
- #endif
- { &kFINALIZATIONWITNESSSERVICE_CID, false, nullptr, FinalizationWitnessServiceConstructor },
- { &kNATIVE_OSFILE_INTERNALS_SERVICE_CID, false, nullptr, NativeOSFileInternalsServiceConstructor },
- { &kNS_ADDON_PATH_SERVICE_CID, false, nullptr, AddonPathServiceConstructor },
- { &kNATIVE_FILEWATCHER_SERVICE_CID, false, nullptr, NativeFileWatcherServiceConstructor },
- { nullptr }
- };
- static const Module::ContractIDEntry kToolkitContracts[] = {
- { NS_APPSTARTUP_CONTRACTID, &kNS_TOOLKIT_APPSTARTUP_CID },
- #if defined(MOZ_HAS_TERMINATOR)
- { NS_TOOLKIT_TERMINATOR_CONTRACTID, &kNS_TOOLKIT_TERMINATOR_CID },
- #endif
- #if defined(MOZ_HAS_PERFSTATS)
- { NS_TOOLKIT_PERFORMANCESTATSSERVICE_CONTRACTID, &kNS_TOOLKIT_PERFORMANCESTATSSERVICE_CID },
- #endif // defined (MOZ_HAS_PERFSTATS)
- #if defined(MOZ_USERINFO)
- { NS_USERINFO_CONTRACTID, &kNS_USERINFO_CID },
- #endif // defined(MOZ_USERINFO)
- { ALERT_NOTIFICATION_CONTRACTID, &kALERT_NOTIFICATION_CID },
- { NS_ALERTSERVICE_CONTRACTID, &kNS_ALERTSSERVICE_CID },
- #if !defined(MOZ_DISABLE_PARENTAL_CONTROLS)
- { NS_PARENTALCONTROLSSERVICE_CONTRACTID, &kNS_PARENTALCONTROLSSERVICE_CID },
- #endif
- { NS_DOWNLOADMANAGER_CONTRACTID, &kNS_DOWNLOADMANAGER_CID },
- { NS_DOWNLOADPLATFORM_CONTRACTID, &kNS_DOWNLOADPLATFORM_CID },
- { NS_FIND_SERVICE_CONTRACTID, &kNS_FIND_SERVICE_CID },
- { NS_TYPEAHEADFIND_CONTRACTID, &kNS_TYPEAHEADFIND_CID },
- #ifdef MOZ_URL_CLASSIFIER
- { NS_APPLICATION_REPUTATION_SERVICE_CONTRACTID, &kNS_APPLICATION_REPUTATION_SERVICE_CID },
- { NS_URLCLASSIFIERPREFIXSET_CONTRACTID, &kNS_URLCLASSIFIERPREFIXSET_CID },
- { NS_URLCLASSIFIERDBSERVICE_CONTRACTID, &kNS_URLCLASSIFIERDBSERVICE_CID },
- { NS_URICLASSIFIERSERVICE_CONTRACTID, &kNS_URLCLASSIFIERDBSERVICE_CID },
- { NS_URLCLASSIFIERSTREAMUPDATER_CONTRACTID, &kNS_URLCLASSIFIERSTREAMUPDATER_CID },
- { NS_URLCLASSIFIERUTILS_CONTRACTID, &kNS_URLCLASSIFIERUTILS_CID },
- #endif
- { NS_BROWSERSTATUSFILTER_CONTRACTID, &kNS_BROWSERSTATUSFILTER_CID },
- #ifdef MOZ_UPDATER
- { NS_UPDATEPROCESSOR_CONTRACTID, &kNS_UPDATEPROCESSOR_CID },
- #endif
- { FINALIZATIONWITNESSSERVICE_CONTRACTID, &kFINALIZATIONWITNESSSERVICE_CID },
- { NATIVE_OSFILE_INTERNALS_SERVICE_CONTRACTID, &kNATIVE_OSFILE_INTERNALS_SERVICE_CID },
- { NS_ADDONPATHSERVICE_CONTRACTID, &kNS_ADDON_PATH_SERVICE_CID },
- { NATIVE_FILEWATCHER_SERVICE_CONTRACTID, &kNATIVE_FILEWATCHER_SERVICE_CID },
- { nullptr }
- };
- static const mozilla::Module::CategoryEntry kToolkitCategories[] = {
- { nullptr }
- };
- static const Module kToolkitModule = {
- Module::kVersion,
- kToolkitCIDs,
- kToolkitContracts,
- kToolkitCategories
- };
- NSMODULE_DEFN(nsToolkitCompsModule) = &kToolkitModule;
|