1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/toolkit/components/places/nsPlacesModule.cpp Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,70 @@ 1.4 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.5 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.6 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.7 + 1.8 +#include "mozilla/ModuleUtils.h" 1.9 +#include "nsIClassInfoImpl.h" 1.10 + 1.11 +#include "nsAnnoProtocolHandler.h" 1.12 +#include "nsAnnotationService.h" 1.13 +#include "nsNavHistory.h" 1.14 +#include "nsNavBookmarks.h" 1.15 +#include "nsFaviconService.h" 1.16 +#include "History.h" 1.17 +#include "nsDocShellCID.h" 1.18 + 1.19 +using namespace mozilla::places; 1.20 + 1.21 +NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsNavHistory, 1.22 + nsNavHistory::GetSingleton) 1.23 +NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsAnnotationService, 1.24 + nsAnnotationService::GetSingleton) 1.25 +NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsNavBookmarks, 1.26 + nsNavBookmarks::GetSingleton) 1.27 +NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsFaviconService, 1.28 + nsFaviconService::GetSingleton) 1.29 +NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(History, History::GetSingleton) 1.30 + 1.31 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsAnnoProtocolHandler) 1.32 +NS_DEFINE_NAMED_CID(NS_NAVHISTORYSERVICE_CID); 1.33 +NS_DEFINE_NAMED_CID(NS_ANNOTATIONSERVICE_CID); 1.34 +NS_DEFINE_NAMED_CID(NS_ANNOPROTOCOLHANDLER_CID); 1.35 +NS_DEFINE_NAMED_CID(NS_NAVBOOKMARKSSERVICE_CID); 1.36 +NS_DEFINE_NAMED_CID(NS_FAVICONSERVICE_CID); 1.37 +NS_DEFINE_NAMED_CID(NS_HISTORYSERVICE_CID); 1.38 + 1.39 +const mozilla::Module::CIDEntry kPlacesCIDs[] = { 1.40 + { &kNS_NAVHISTORYSERVICE_CID, false, nullptr, nsNavHistoryConstructor }, 1.41 + { &kNS_ANNOTATIONSERVICE_CID, false, nullptr, nsAnnotationServiceConstructor }, 1.42 + { &kNS_ANNOPROTOCOLHANDLER_CID, false, nullptr, nsAnnoProtocolHandlerConstructor }, 1.43 + { &kNS_NAVBOOKMARKSSERVICE_CID, false, nullptr, nsNavBookmarksConstructor }, 1.44 + { &kNS_FAVICONSERVICE_CID, false, nullptr, nsFaviconServiceConstructor }, 1.45 + { &kNS_HISTORYSERVICE_CID, false, nullptr, HistoryConstructor }, 1.46 + { nullptr } 1.47 +}; 1.48 + 1.49 +const mozilla::Module::ContractIDEntry kPlacesContracts[] = { 1.50 + { NS_NAVHISTORYSERVICE_CONTRACTID, &kNS_NAVHISTORYSERVICE_CID }, 1.51 + { NS_ANNOTATIONSERVICE_CONTRACTID, &kNS_ANNOTATIONSERVICE_CID }, 1.52 + { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "moz-anno", &kNS_ANNOPROTOCOLHANDLER_CID }, 1.53 + { NS_NAVBOOKMARKSSERVICE_CONTRACTID, &kNS_NAVBOOKMARKSSERVICE_CID }, 1.54 + { NS_FAVICONSERVICE_CONTRACTID, &kNS_FAVICONSERVICE_CID }, 1.55 + { "@mozilla.org/embeddor.implemented/bookmark-charset-resolver;1", &kNS_NAVHISTORYSERVICE_CID }, 1.56 + { NS_IHISTORY_CONTRACTID, &kNS_HISTORYSERVICE_CID }, 1.57 + { NS_DOWNLOADHISTORY_CONTRACTID, &kNS_HISTORYSERVICE_CID }, 1.58 + { nullptr } 1.59 +}; 1.60 + 1.61 +const mozilla::Module::CategoryEntry kPlacesCategories[] = { 1.62 + { "vacuum-participant", "Places", NS_NAVHISTORYSERVICE_CONTRACTID }, 1.63 + { nullptr } 1.64 +}; 1.65 + 1.66 +const mozilla::Module kPlacesModule = { 1.67 + mozilla::Module::kVersion, 1.68 + kPlacesCIDs, 1.69 + kPlacesContracts, 1.70 + kPlacesCategories 1.71 +}; 1.72 + 1.73 +NSMODULE_DEFN(nsPlacesModule) = &kPlacesModule;