1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #include "mozilla/ModuleUtils.h"
9 #include "nsLWBrkCIID.h"
10 #include "nsJISx4051LineBreaker.h"
11 #include "nsSampleWordBreaker.h"
13 #include "nsSemanticUnitScanner.h"
16 #include "nsCategoryImp.h"
17 #include "nsUnicharUtilCIID.h"
18 #include "nsCaseConversionImp2.h"
19 #include "nsEntityConverter.h"
20 #include "nsSaveAsCharset.h"
21 #include "nsUnicodeNormalizer.h"
23 // string bundles (intl)
24 #include "nsStringBundleService.h"
25 #include "nsStringBundleTextOverride.h"
28 #include "nsLocaleConstructors.h"
32 NS_GENERIC_FACTORY_CONSTRUCTOR(nsJISx4051LineBreaker
)
33 NS_GENERIC_FACTORY_CONSTRUCTOR(nsSampleWordBreaker
)
35 NS_GENERIC_FACTORY_CONSTRUCTOR(nsSemanticUnitScanner
)
37 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsStringBundleService
, Init
)
38 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsStringBundleTextOverride
, Init
)
40 NS_GENERIC_FACTORY_CONSTRUCTOR(nsCaseConversionImp2
)
41 NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsCategoryImp
,
42 nsCategoryImp::GetInstance
)
43 NS_GENERIC_FACTORY_CONSTRUCTOR(nsEntityConverter
)
44 NS_GENERIC_FACTORY_CONSTRUCTOR(nsSaveAsCharset
)
45 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeNormalizer
)
47 NS_DEFINE_NAMED_CID(NS_LBRK_CID
);
48 NS_DEFINE_NAMED_CID(NS_WBRK_CID
);
49 NS_DEFINE_NAMED_CID(NS_SEMANTICUNITSCANNER_CID
);
50 NS_DEFINE_NAMED_CID(NS_UNICHARUTIL_CID
);
51 NS_DEFINE_NAMED_CID(NS_UNICHARCATEGORY_CID
);
52 NS_DEFINE_NAMED_CID(NS_ENTITYCONVERTER_CID
);
53 NS_DEFINE_NAMED_CID(NS_SAVEASCHARSET_CID
);
54 NS_DEFINE_NAMED_CID(NS_UNICODE_NORMALIZER_CID
);
55 NS_DEFINE_NAMED_CID(NS_STRINGBUNDLESERVICE_CID
);
56 NS_DEFINE_NAMED_CID(NS_STRINGBUNDLETEXTOVERRIDE_CID
);
57 NS_DEFINE_NAMED_CID(NS_LOCALESERVICE_CID
);
58 NS_DEFINE_NAMED_CID(NS_COLLATIONFACTORY_CID
);
59 NS_DEFINE_NAMED_CID(NS_SCRIPTABLEDATEFORMAT_CID
);
60 NS_DEFINE_NAMED_CID(NS_LANGUAGEATOMSERVICE_CID
);
61 NS_DEFINE_NAMED_CID(NS_PLATFORMCHARSET_CID
);
63 NS_DEFINE_NAMED_CID(NS_COLLATION_CID
);
64 NS_DEFINE_NAMED_CID(NS_DATETIMEFORMAT_CID
);
66 #ifdef USE_UNIX_LOCALE
67 NS_DEFINE_NAMED_CID(NS_COLLATION_CID
);
68 NS_DEFINE_NAMED_CID(NS_DATETIMEFORMAT_CID
);
71 NS_DEFINE_NAMED_CID(NS_COLLATION_CID
);
72 NS_DEFINE_NAMED_CID(NS_DATETIMEFORMAT_CID
);
75 static const mozilla::Module::CIDEntry kIntlCIDs
[] = {
76 { &kNS_LBRK_CID
, false, nullptr, nsJISx4051LineBreakerConstructor
},
77 { &kNS_WBRK_CID
, false, nullptr, nsSampleWordBreakerConstructor
},
78 { &kNS_SEMANTICUNITSCANNER_CID
, false, nullptr, nsSemanticUnitScannerConstructor
},
79 { &kNS_UNICHARUTIL_CID
, false, nullptr, nsCaseConversionImp2Constructor
},
80 { &kNS_UNICHARCATEGORY_CID
, false, nullptr, nsCategoryImpConstructor
},
81 { &kNS_ENTITYCONVERTER_CID
, false, nullptr, nsEntityConverterConstructor
},
82 { &kNS_SAVEASCHARSET_CID
, false, nullptr, nsSaveAsCharsetConstructor
},
83 { &kNS_UNICODE_NORMALIZER_CID
, false, nullptr, nsUnicodeNormalizerConstructor
},
84 { &kNS_STRINGBUNDLESERVICE_CID
, false, nullptr, nsStringBundleServiceConstructor
},
85 { &kNS_STRINGBUNDLETEXTOVERRIDE_CID
, false, nullptr, nsStringBundleTextOverrideConstructor
},
86 { &kNS_LOCALESERVICE_CID
, false, nullptr, CreateLocaleService
},
87 { &kNS_COLLATIONFACTORY_CID
, false, nullptr, nsCollationFactoryConstructor
},
88 { &kNS_SCRIPTABLEDATEFORMAT_CID
, false, nullptr, NS_NewScriptableDateFormat
},
89 { &kNS_LANGUAGEATOMSERVICE_CID
, false, nullptr, nsLanguageAtomServiceConstructor
},
90 { &kNS_PLATFORMCHARSET_CID
, false, nullptr, nsPlatformCharsetConstructor
},
92 { &kNS_COLLATION_CID
, false, nullptr, nsCollationWinConstructor
},
93 { &kNS_DATETIMEFORMAT_CID
, false, nullptr, nsDateTimeFormatWinConstructor
},
95 #ifdef USE_UNIX_LOCALE
96 { &kNS_COLLATION_CID
, false, nullptr, nsCollationUnixConstructor
},
97 { &kNS_DATETIMEFORMAT_CID
, false, nullptr, nsDateTimeFormatUnixConstructor
},
100 { &kNS_COLLATION_CID
, false, nullptr, nsCollationMacUCConstructor
},
101 { &kNS_DATETIMEFORMAT_CID
, false, nullptr, nsDateTimeFormatMacConstructor
},
106 static const mozilla::Module::ContractIDEntry kIntlContracts
[] = {
107 { NS_LBRK_CONTRACTID
, &kNS_LBRK_CID
},
108 { NS_WBRK_CONTRACTID
, &kNS_WBRK_CID
},
109 { NS_SEMANTICUNITSCANNER_CONTRACTID
, &kNS_SEMANTICUNITSCANNER_CID
},
110 { NS_UNICHARUTIL_CONTRACTID
, &kNS_UNICHARUTIL_CID
},
111 { NS_UNICHARCATEGORY_CONTRACTID
, &kNS_UNICHARCATEGORY_CID
},
112 { NS_ENTITYCONVERTER_CONTRACTID
, &kNS_ENTITYCONVERTER_CID
},
113 { NS_SAVEASCHARSET_CONTRACTID
, &kNS_SAVEASCHARSET_CID
},
114 { NS_UNICODE_NORMALIZER_CONTRACTID
, &kNS_UNICODE_NORMALIZER_CID
},
115 { NS_STRINGBUNDLE_CONTRACTID
, &kNS_STRINGBUNDLESERVICE_CID
},
116 { NS_STRINGBUNDLETEXTOVERRIDE_CONTRACTID
, &kNS_STRINGBUNDLETEXTOVERRIDE_CID
},
117 { NS_LOCALESERVICE_CONTRACTID
, &kNS_LOCALESERVICE_CID
},
118 { NS_COLLATIONFACTORY_CONTRACTID
, &kNS_COLLATIONFACTORY_CID
},
119 { NS_SCRIPTABLEDATEFORMAT_CONTRACTID
, &kNS_SCRIPTABLEDATEFORMAT_CID
},
120 { NS_LANGUAGEATOMSERVICE_CONTRACTID
, &kNS_LANGUAGEATOMSERVICE_CID
},
121 { NS_PLATFORMCHARSET_CONTRACTID
, &kNS_PLATFORMCHARSET_CID
},
123 { NS_COLLATION_CONTRACTID
, &kNS_COLLATION_CID
},
124 { NS_DATETIMEFORMAT_CONTRACTID
, &kNS_DATETIMEFORMAT_CID
},
126 #ifdef USE_UNIX_LOCALE
127 { NS_COLLATION_CONTRACTID
, &kNS_COLLATION_CID
},
128 { NS_DATETIMEFORMAT_CONTRACTID
, &kNS_DATETIMEFORMAT_CID
},
130 #ifdef USE_MAC_LOCALE
131 { NS_COLLATION_CONTRACTID
, &kNS_COLLATION_CID
},
132 { NS_DATETIMEFORMAT_CONTRACTID
, &kNS_DATETIMEFORMAT_CID
},
137 static const mozilla::Module kIntlModule
= {
138 mozilla::Module::kVersion
,
147 NSMODULE_DEFN(nsI18nModule
) = &kIntlModule
;