1 : #include "mozilla/ModuleUtils.h"
2 : #include "nsIClassInfoImpl.h"
3 :
4 : #include "nsAnnoProtocolHandler.h"
5 : #include "nsAnnotationService.h"
6 : #include "nsNavHistory.h"
7 : #include "nsNavBookmarks.h"
8 : #include "nsFaviconService.h"
9 : #include "nsPlacesImportExportService.h"
10 : #include "History.h"
11 : #include "nsDocShellCID.h"
12 :
13 : #ifdef MOZ_ANDROID_HISTORY
14 : #include "nsAndroidHistory.h"
15 : #endif
16 :
17 : using namespace mozilla::places;
18 :
19 263 : NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsNavHistory,
20 263 : nsNavHistory::GetSingleton)
21 207 : NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsAnnotationService,
22 207 : nsAnnotationService::GetSingleton)
23 195 : NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsNavBookmarks,
24 195 : nsNavBookmarks::GetSingleton)
25 48 : NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsFaviconService,
26 48 : nsFaviconService::GetSingleton)
27 11 : NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsPlacesImportExportService,
28 11 : nsPlacesImportExportService::GetSingleton)
29 : #ifdef MOZ_ANDROID_HISTORY
30 : NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsAndroidHistory, nsAndroidHistory::GetSingleton)
31 : #else
32 123 : NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(History, History::GetSingleton)
33 : #endif
34 :
35 12 : NS_GENERIC_FACTORY_CONSTRUCTOR(nsAnnoProtocolHandler)
36 : NS_DEFINE_NAMED_CID(NS_NAVHISTORYSERVICE_CID);
37 : NS_DEFINE_NAMED_CID(NS_ANNOTATIONSERVICE_CID);
38 : NS_DEFINE_NAMED_CID(NS_ANNOPROTOCOLHANDLER_CID);
39 : NS_DEFINE_NAMED_CID(NS_NAVBOOKMARKSSERVICE_CID);
40 : NS_DEFINE_NAMED_CID(NS_FAVICONSERVICE_CID);
41 : NS_DEFINE_NAMED_CID(NS_PLACESIMPORTEXPORTSERVICE_CID);
42 :
43 : #ifdef MOZ_ANDROID_HISTORY
44 : NS_DEFINE_NAMED_CID(NS_ANDROIDHISTORY_CID);
45 : #else
46 : NS_DEFINE_NAMED_CID(NS_HISTORYSERVICE_CID);
47 : #endif
48 :
49 : const mozilla::Module::CIDEntry kPlacesCIDs[] = {
50 : { &kNS_NAVHISTORYSERVICE_CID, false, NULL, nsNavHistoryConstructor },
51 : { &kNS_ANNOTATIONSERVICE_CID, false, NULL, nsAnnotationServiceConstructor },
52 : { &kNS_ANNOPROTOCOLHANDLER_CID, false, NULL, nsAnnoProtocolHandlerConstructor },
53 : { &kNS_NAVBOOKMARKSSERVICE_CID, false, NULL, nsNavBookmarksConstructor },
54 : { &kNS_FAVICONSERVICE_CID, false, NULL, nsFaviconServiceConstructor },
55 : #ifdef MOZ_ANDROID_HISTORY
56 : { &kNS_ANDROIDHISTORY_CID, false, NULL, nsAndroidHistoryConstructor },
57 : #else
58 : { &kNS_HISTORYSERVICE_CID, false, NULL, HistoryConstructor },
59 : #endif
60 : { &kNS_PLACESIMPORTEXPORTSERVICE_CID, false, NULL, nsPlacesImportExportServiceConstructor },
61 : { NULL }
62 : };
63 :
64 : const mozilla::Module::ContractIDEntry kPlacesContracts[] = {
65 : { NS_NAVHISTORYSERVICE_CONTRACTID, &kNS_NAVHISTORYSERVICE_CID },
66 : { NS_GLOBALHISTORY2_CONTRACTID, &kNS_NAVHISTORYSERVICE_CID },
67 : { NS_ANNOTATIONSERVICE_CONTRACTID, &kNS_ANNOTATIONSERVICE_CID },
68 : { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "moz-anno", &kNS_ANNOPROTOCOLHANDLER_CID },
69 : { NS_NAVBOOKMARKSSERVICE_CONTRACTID, &kNS_NAVBOOKMARKSSERVICE_CID },
70 : { NS_FAVICONSERVICE_CONTRACTID, &kNS_FAVICONSERVICE_CID },
71 : { "@mozilla.org/embeddor.implemented/bookmark-charset-resolver;1", &kNS_NAVHISTORYSERVICE_CID },
72 : #ifdef MOZ_ANDROID_HISTORY
73 : { NS_IHISTORY_CONTRACTID, &kNS_ANDROIDHISTORY_CID },
74 : #else
75 : { NS_IHISTORY_CONTRACTID, &kNS_HISTORYSERVICE_CID },
76 : { NS_DOWNLOADHISTORY_CONTRACTID, &kNS_HISTORYSERVICE_CID },
77 : #endif
78 : { NS_PLACESIMPORTEXPORTSERVICE_CONTRACTID, &kNS_PLACESIMPORTEXPORTSERVICE_CID },
79 : { NULL }
80 : };
81 :
82 : const mozilla::Module::CategoryEntry kPlacesCategories[] = {
83 : { "vacuum-participant", "Places", NS_NAVHISTORYSERVICE_CONTRACTID },
84 : { NULL }
85 : };
86 :
87 : const mozilla::Module kPlacesModule = {
88 : mozilla::Module::kVersion,
89 : kPlacesCIDs,
90 : kPlacesContracts,
91 : kPlacesCategories
92 : };
93 :
94 : NSMODULE_DEFN(nsPlacesModule) = &kPlacesModule;
|