nsI18nModule.cpp 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  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/. */
  5. #include "mozilla/ModuleUtils.h"
  6. // lwbrk
  7. #include "nsLWBrkCIID.h"
  8. #include "nsJISx4051LineBreaker.h"
  9. #include "nsSampleWordBreaker.h"
  10. #include "nsSemanticUnitScanner.h"
  11. // unicharutil
  12. #include "nsCategoryImp.h"
  13. #include "nsUnicharUtilCIID.h"
  14. #include "nsCaseConversionImp2.h"
  15. #include "nsEntityConverter.h"
  16. #include "nsSaveAsCharset.h"
  17. #include "nsUnicodeNormalizer.h"
  18. // string bundles (intl)
  19. #include "nsStringBundleService.h"
  20. #include "nsStringBundleTextOverride.h"
  21. // locale
  22. #include "nsLocaleConstructors.h"
  23. // uconv
  24. NS_GENERIC_FACTORY_CONSTRUCTOR(nsJISx4051LineBreaker)
  25. NS_GENERIC_FACTORY_CONSTRUCTOR(nsSampleWordBreaker)
  26. NS_GENERIC_FACTORY_CONSTRUCTOR(nsSemanticUnitScanner)
  27. NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsStringBundleService, Init)
  28. NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsStringBundleTextOverride, Init)
  29. NS_GENERIC_FACTORY_CONSTRUCTOR(nsCaseConversionImp2)
  30. NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsCategoryImp,
  31. nsCategoryImp::GetInstance)
  32. NS_GENERIC_FACTORY_CONSTRUCTOR(nsEntityConverter)
  33. NS_GENERIC_FACTORY_CONSTRUCTOR(nsSaveAsCharset)
  34. NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeNormalizer)
  35. NS_DEFINE_NAMED_CID(NS_LBRK_CID);
  36. NS_DEFINE_NAMED_CID(NS_WBRK_CID);
  37. NS_DEFINE_NAMED_CID(NS_SEMANTICUNITSCANNER_CID);
  38. NS_DEFINE_NAMED_CID(NS_UNICHARUTIL_CID);
  39. NS_DEFINE_NAMED_CID(NS_UNICHARCATEGORY_CID);
  40. NS_DEFINE_NAMED_CID(NS_ENTITYCONVERTER_CID);
  41. NS_DEFINE_NAMED_CID(NS_SAVEASCHARSET_CID);
  42. NS_DEFINE_NAMED_CID(NS_UNICODE_NORMALIZER_CID);
  43. NS_DEFINE_NAMED_CID(NS_STRINGBUNDLESERVICE_CID);
  44. NS_DEFINE_NAMED_CID(NS_STRINGBUNDLETEXTOVERRIDE_CID);
  45. NS_DEFINE_NAMED_CID(NS_LOCALESERVICE_CID);
  46. NS_DEFINE_NAMED_CID(NS_COLLATIONFACTORY_CID);
  47. NS_DEFINE_NAMED_CID(NS_SCRIPTABLEDATEFORMAT_CID);
  48. NS_DEFINE_NAMED_CID(NS_LANGUAGEATOMSERVICE_CID);
  49. NS_DEFINE_NAMED_CID(NS_PLATFORMCHARSET_CID);
  50. #ifdef XP_WIN
  51. NS_DEFINE_NAMED_CID(NS_COLLATION_CID);
  52. NS_DEFINE_NAMED_CID(NS_DATETIMEFORMAT_CID);
  53. #endif
  54. #ifdef USE_UNIX_LOCALE
  55. NS_DEFINE_NAMED_CID(NS_COLLATION_CID);
  56. NS_DEFINE_NAMED_CID(NS_DATETIMEFORMAT_CID);
  57. #endif
  58. #ifdef USE_MAC_LOCALE
  59. NS_DEFINE_NAMED_CID(NS_COLLATION_CID);
  60. NS_DEFINE_NAMED_CID(NS_DATETIMEFORMAT_CID);
  61. #endif
  62. static const mozilla::Module::CIDEntry kIntlCIDs[] = {
  63. { &kNS_LBRK_CID, false, nullptr, nsJISx4051LineBreakerConstructor },
  64. { &kNS_WBRK_CID, false, nullptr, nsSampleWordBreakerConstructor },
  65. { &kNS_SEMANTICUNITSCANNER_CID, false, nullptr, nsSemanticUnitScannerConstructor },
  66. { &kNS_UNICHARUTIL_CID, false, nullptr, nsCaseConversionImp2Constructor },
  67. { &kNS_UNICHARCATEGORY_CID, false, nullptr, nsCategoryImpConstructor },
  68. { &kNS_ENTITYCONVERTER_CID, false, nullptr, nsEntityConverterConstructor },
  69. { &kNS_SAVEASCHARSET_CID, false, nullptr, nsSaveAsCharsetConstructor },
  70. { &kNS_UNICODE_NORMALIZER_CID, false, nullptr, nsUnicodeNormalizerConstructor },
  71. { &kNS_STRINGBUNDLESERVICE_CID, false, nullptr, nsStringBundleServiceConstructor },
  72. { &kNS_STRINGBUNDLETEXTOVERRIDE_CID, false, nullptr, nsStringBundleTextOverrideConstructor },
  73. { &kNS_LOCALESERVICE_CID, false, nullptr, CreateLocaleService },
  74. { &kNS_COLLATIONFACTORY_CID, false, nullptr, nsCollationFactoryConstructor },
  75. { &kNS_SCRIPTABLEDATEFORMAT_CID, false, nullptr, NS_NewScriptableDateFormat },
  76. { &kNS_LANGUAGEATOMSERVICE_CID, false, nullptr, nsLanguageAtomServiceConstructor },
  77. { &kNS_PLATFORMCHARSET_CID, false, nullptr, nsPlatformCharsetConstructor },
  78. #ifdef XP_WIN
  79. { &kNS_COLLATION_CID, false, nullptr, nsCollationWinConstructor },
  80. { &kNS_DATETIMEFORMAT_CID, false, nullptr, nsDateTimeFormatWinConstructor },
  81. #endif
  82. #ifdef USE_UNIX_LOCALE
  83. { &kNS_COLLATION_CID, false, nullptr, nsCollationUnixConstructor },
  84. { &kNS_DATETIMEFORMAT_CID, false, nullptr, nsDateTimeFormatUnixConstructor },
  85. #endif
  86. #ifdef USE_MAC_LOCALE
  87. { &kNS_COLLATION_CID, false, nullptr, nsCollationMacUCConstructor },
  88. { &kNS_DATETIMEFORMAT_CID, false, nullptr, nsDateTimeFormatMacConstructor },
  89. #endif
  90. { nullptr }
  91. };
  92. static const mozilla::Module::ContractIDEntry kIntlContracts[] = {
  93. { NS_LBRK_CONTRACTID, &kNS_LBRK_CID },
  94. { NS_WBRK_CONTRACTID, &kNS_WBRK_CID },
  95. { NS_SEMANTICUNITSCANNER_CONTRACTID, &kNS_SEMANTICUNITSCANNER_CID },
  96. { NS_UNICHARUTIL_CONTRACTID, &kNS_UNICHARUTIL_CID },
  97. { NS_UNICHARCATEGORY_CONTRACTID, &kNS_UNICHARCATEGORY_CID },
  98. { NS_ENTITYCONVERTER_CONTRACTID, &kNS_ENTITYCONVERTER_CID },
  99. { NS_SAVEASCHARSET_CONTRACTID, &kNS_SAVEASCHARSET_CID },
  100. { NS_UNICODE_NORMALIZER_CONTRACTID, &kNS_UNICODE_NORMALIZER_CID },
  101. { NS_STRINGBUNDLE_CONTRACTID, &kNS_STRINGBUNDLESERVICE_CID },
  102. { NS_STRINGBUNDLETEXTOVERRIDE_CONTRACTID, &kNS_STRINGBUNDLETEXTOVERRIDE_CID },
  103. { NS_LOCALESERVICE_CONTRACTID, &kNS_LOCALESERVICE_CID },
  104. { NS_COLLATIONFACTORY_CONTRACTID, &kNS_COLLATIONFACTORY_CID },
  105. { NS_SCRIPTABLEDATEFORMAT_CONTRACTID, &kNS_SCRIPTABLEDATEFORMAT_CID },
  106. { NS_LANGUAGEATOMSERVICE_CONTRACTID, &kNS_LANGUAGEATOMSERVICE_CID },
  107. { NS_PLATFORMCHARSET_CONTRACTID, &kNS_PLATFORMCHARSET_CID },
  108. #ifdef XP_WIN
  109. { NS_COLLATION_CONTRACTID, &kNS_COLLATION_CID },
  110. { NS_DATETIMEFORMAT_CONTRACTID, &kNS_DATETIMEFORMAT_CID },
  111. #endif
  112. #ifdef USE_UNIX_LOCALE
  113. { NS_COLLATION_CONTRACTID, &kNS_COLLATION_CID },
  114. { NS_DATETIMEFORMAT_CONTRACTID, &kNS_DATETIMEFORMAT_CID },
  115. #endif
  116. #ifdef USE_MAC_LOCALE
  117. { NS_COLLATION_CONTRACTID, &kNS_COLLATION_CID },
  118. { NS_DATETIMEFORMAT_CONTRACTID, &kNS_DATETIMEFORMAT_CID },
  119. #endif
  120. { nullptr }
  121. };
  122. static const mozilla::Module kIntlModule = {
  123. mozilla::Module::kVersion,
  124. kIntlCIDs,
  125. kIntlContracts,
  126. nullptr,
  127. nullptr,
  128. nullptr,
  129. nullptr
  130. };
  131. NSMODULE_DEFN(nsI18nModule) = &kIntlModule;