/* * Copyright (c) 2011 Vlad Voicu * Licensed under the Simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include #include #include #include #include #ifdef HAVE_HUNSPELL #include #elif defined(SWIFTEN_PLATFORM_MACOSX) #include #endif namespace Swift { SpellCheckerFactory::SpellCheckerFactory() { } #ifdef HAVE_HUNSPELL SpellChecker* SpellCheckerFactory::createSpellChecker(const std::string& dictFile) { std::string affixFile(dictFile); boost::replace_all(affixFile, ".dic", ".aff"); if ((boost::filesystem::exists(dictFile)) && (boost::filesystem::exists(affixFile))) { return new HunspellChecker(affixFile.c_str(), dictFile.c_str()); } // If dictionaries don't exist disable the checker return NULL; } #elif defined(SWIFTEN_PLATFORM_MACOSX) SpellChecker* SpellCheckerFactory::createSpellChecker(const std::string& /*dictFile*/) { return new MacOSXChecker(); } #endif }