|
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 |
|
6 |
|
7 #include "mozilla/ModuleUtils.h" |
|
8 #include "mozHunspell.h" |
|
9 #include "mozHunspellDirProvider.h" |
|
10 #include "mozSpellChecker.h" |
|
11 #include "mozInlineSpellChecker.h" |
|
12 #include "nsTextServicesCID.h" |
|
13 #include "mozPersonalDictionary.h" |
|
14 #include "mozSpellI18NManager.h" |
|
15 #include "nsIFile.h" |
|
16 |
|
17 #define NS_SPELLCHECKER_CID \ |
|
18 { /* 8227f019-afc7-461e-b030-9f185d7a0e29 */ \ |
|
19 0x8227F019, 0xAFC7, 0x461e, \ |
|
20 { 0xB0, 0x30, 0x9F, 0x18, 0x5D, 0x7A, 0x0E, 0x29} } |
|
21 |
|
22 #define MOZ_INLINESPELLCHECKER_CID \ |
|
23 { /* 9FE5D975-09BD-44aa-A01A-66402EA28657 */ \ |
|
24 0x9fe5d975, 0x9bd, 0x44aa, \ |
|
25 { 0xa0, 0x1a, 0x66, 0x40, 0x2e, 0xa2, 0x86, 0x57} } |
|
26 |
|
27 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(mozHunspell, Init) |
|
28 NS_GENERIC_FACTORY_CONSTRUCTOR(mozHunspellDirProvider) |
|
29 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(mozSpellChecker, Init) |
|
30 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(mozPersonalDictionary, Init) |
|
31 NS_GENERIC_FACTORY_CONSTRUCTOR(mozSpellI18NManager) |
|
32 NS_GENERIC_FACTORY_CONSTRUCTOR(mozInlineSpellChecker) |
|
33 |
|
34 NS_DEFINE_NAMED_CID(MOZ_HUNSPELL_CID); |
|
35 NS_DEFINE_NAMED_CID(HUNSPELLDIRPROVIDER_CID); |
|
36 NS_DEFINE_NAMED_CID(NS_SPELLCHECKER_CID); |
|
37 NS_DEFINE_NAMED_CID(MOZ_PERSONALDICTIONARY_CID); |
|
38 NS_DEFINE_NAMED_CID(MOZ_SPELLI18NMANAGER_CID); |
|
39 NS_DEFINE_NAMED_CID(MOZ_INLINESPELLCHECKER_CID); |
|
40 |
|
41 static const mozilla::Module::CIDEntry kSpellcheckCIDs[] = { |
|
42 { &kMOZ_HUNSPELL_CID, false, nullptr, mozHunspellConstructor }, |
|
43 { &kHUNSPELLDIRPROVIDER_CID, false, nullptr, mozHunspellDirProviderConstructor }, |
|
44 { &kNS_SPELLCHECKER_CID, false, nullptr, mozSpellCheckerConstructor }, |
|
45 { &kMOZ_PERSONALDICTIONARY_CID, false, nullptr, mozPersonalDictionaryConstructor }, |
|
46 { &kMOZ_SPELLI18NMANAGER_CID, false, nullptr, mozSpellI18NManagerConstructor }, |
|
47 { &kMOZ_INLINESPELLCHECKER_CID, false, nullptr, mozInlineSpellCheckerConstructor }, |
|
48 { nullptr } |
|
49 }; |
|
50 |
|
51 static const mozilla::Module::ContractIDEntry kSpellcheckContracts[] = { |
|
52 { MOZ_HUNSPELL_CONTRACTID, &kMOZ_HUNSPELL_CID }, |
|
53 { mozHunspellDirProvider::kContractID, &kHUNSPELLDIRPROVIDER_CID }, |
|
54 { NS_SPELLCHECKER_CONTRACTID, &kNS_SPELLCHECKER_CID }, |
|
55 { MOZ_PERSONALDICTIONARY_CONTRACTID, &kMOZ_PERSONALDICTIONARY_CID }, |
|
56 { MOZ_SPELLI18NMANAGER_CONTRACTID, &kMOZ_SPELLI18NMANAGER_CID }, |
|
57 { MOZ_INLINESPELLCHECKER_CONTRACTID, &kMOZ_INLINESPELLCHECKER_CID }, |
|
58 { nullptr } |
|
59 }; |
|
60 |
|
61 static const mozilla::Module::CategoryEntry kSpellcheckCategories[] = { |
|
62 { XPCOM_DIRECTORY_PROVIDER_CATEGORY, "spellcheck-directory-provider", mozHunspellDirProvider::kContractID }, |
|
63 { nullptr } |
|
64 }; |
|
65 |
|
66 const mozilla::Module kSpellcheckModule = { |
|
67 mozilla::Module::kVersion, |
|
68 kSpellcheckCIDs, |
|
69 kSpellcheckContracts, |
|
70 kSpellcheckCategories |
|
71 }; |
|
72 |
|
73 NSMODULE_DEFN(mozSpellCheckerModule) = &kSpellcheckModule; |