1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/extensions/spellcheck/src/mozSpellCheckerFactory.cpp Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,73 @@ 1.4 +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 1.5 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.6 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.7 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.8 + 1.9 + 1.10 +#include "mozilla/ModuleUtils.h" 1.11 +#include "mozHunspell.h" 1.12 +#include "mozHunspellDirProvider.h" 1.13 +#include "mozSpellChecker.h" 1.14 +#include "mozInlineSpellChecker.h" 1.15 +#include "nsTextServicesCID.h" 1.16 +#include "mozPersonalDictionary.h" 1.17 +#include "mozSpellI18NManager.h" 1.18 +#include "nsIFile.h" 1.19 + 1.20 +#define NS_SPELLCHECKER_CID \ 1.21 +{ /* 8227f019-afc7-461e-b030-9f185d7a0e29 */ \ 1.22 +0x8227F019, 0xAFC7, 0x461e, \ 1.23 +{ 0xB0, 0x30, 0x9F, 0x18, 0x5D, 0x7A, 0x0E, 0x29} } 1.24 + 1.25 +#define MOZ_INLINESPELLCHECKER_CID \ 1.26 +{ /* 9FE5D975-09BD-44aa-A01A-66402EA28657 */ \ 1.27 +0x9fe5d975, 0x9bd, 0x44aa, \ 1.28 +{ 0xa0, 0x1a, 0x66, 0x40, 0x2e, 0xa2, 0x86, 0x57} } 1.29 + 1.30 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(mozHunspell, Init) 1.31 +NS_GENERIC_FACTORY_CONSTRUCTOR(mozHunspellDirProvider) 1.32 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(mozSpellChecker, Init) 1.33 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(mozPersonalDictionary, Init) 1.34 +NS_GENERIC_FACTORY_CONSTRUCTOR(mozSpellI18NManager) 1.35 +NS_GENERIC_FACTORY_CONSTRUCTOR(mozInlineSpellChecker) 1.36 + 1.37 +NS_DEFINE_NAMED_CID(MOZ_HUNSPELL_CID); 1.38 +NS_DEFINE_NAMED_CID(HUNSPELLDIRPROVIDER_CID); 1.39 +NS_DEFINE_NAMED_CID(NS_SPELLCHECKER_CID); 1.40 +NS_DEFINE_NAMED_CID(MOZ_PERSONALDICTIONARY_CID); 1.41 +NS_DEFINE_NAMED_CID(MOZ_SPELLI18NMANAGER_CID); 1.42 +NS_DEFINE_NAMED_CID(MOZ_INLINESPELLCHECKER_CID); 1.43 + 1.44 +static const mozilla::Module::CIDEntry kSpellcheckCIDs[] = { 1.45 + { &kMOZ_HUNSPELL_CID, false, nullptr, mozHunspellConstructor }, 1.46 + { &kHUNSPELLDIRPROVIDER_CID, false, nullptr, mozHunspellDirProviderConstructor }, 1.47 + { &kNS_SPELLCHECKER_CID, false, nullptr, mozSpellCheckerConstructor }, 1.48 + { &kMOZ_PERSONALDICTIONARY_CID, false, nullptr, mozPersonalDictionaryConstructor }, 1.49 + { &kMOZ_SPELLI18NMANAGER_CID, false, nullptr, mozSpellI18NManagerConstructor }, 1.50 + { &kMOZ_INLINESPELLCHECKER_CID, false, nullptr, mozInlineSpellCheckerConstructor }, 1.51 + { nullptr } 1.52 +}; 1.53 + 1.54 +static const mozilla::Module::ContractIDEntry kSpellcheckContracts[] = { 1.55 + { MOZ_HUNSPELL_CONTRACTID, &kMOZ_HUNSPELL_CID }, 1.56 + { mozHunspellDirProvider::kContractID, &kHUNSPELLDIRPROVIDER_CID }, 1.57 + { NS_SPELLCHECKER_CONTRACTID, &kNS_SPELLCHECKER_CID }, 1.58 + { MOZ_PERSONALDICTIONARY_CONTRACTID, &kMOZ_PERSONALDICTIONARY_CID }, 1.59 + { MOZ_SPELLI18NMANAGER_CONTRACTID, &kMOZ_SPELLI18NMANAGER_CID }, 1.60 + { MOZ_INLINESPELLCHECKER_CONTRACTID, &kMOZ_INLINESPELLCHECKER_CID }, 1.61 + { nullptr } 1.62 +}; 1.63 + 1.64 +static const mozilla::Module::CategoryEntry kSpellcheckCategories[] = { 1.65 + { XPCOM_DIRECTORY_PROVIDER_CATEGORY, "spellcheck-directory-provider", mozHunspellDirProvider::kContractID }, 1.66 + { nullptr } 1.67 +}; 1.68 + 1.69 +const mozilla::Module kSpellcheckModule = { 1.70 + mozilla::Module::kVersion, 1.71 + kSpellcheckCIDs, 1.72 + kSpellcheckContracts, 1.73 + kSpellcheckCategories 1.74 +}; 1.75 + 1.76 +NSMODULE_DEFN(mozSpellCheckerModule) = &kSpellcheckModule;