hce-node application  1.4.3
HCE Hierarchical Cluster Engine node application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
CldPlugin.hpp
Go to the documentation of this file.
1 
6 #ifndef _CLD_PLUGIN_HPP
7 #define _CLD_PLUGIN_HPP
8 
9 #include <cld/compact_lang_det.h>
16 #include "TPlugin.hpp"
17 #include "LCoreData.hpp"
18 
19 namespace HCE
20 {
21 
22 namespace component
23 {
24 
25 
26 class CldPlugin : public TPlugin
27 {
28 public:
29  CldPlugin();
30  virtual ~CldPlugin();
31 public:
32  virtual void process(LCoreData&);
33 private:
34  //SSTRING detectLanguageByString(const SSTRING&);
35  //const Language detectLanguageByValue(const SSTRING&);
36  Language langAdditionDetection(const std::string &str, WORD_TYPE &wType);
37  inline std::string correctLanguage(const Language& lang) { return (lang==::ENGLISH || lang==::RUSSIAN || lang==::JAPANESE) ? LanguageCode(lang) : LanguageCode(_basis_lang_mask); }
38  inline void adjustLanguage(Language& lang) { if(lang!=::ENGLISH && lang!=::RUSSIAN && lang!=::JAPANESE) lang = _adjLang[lang]; }
39 private:
40  Language _basis_lang_mask;
41  std::map<Language, LanguageMask> toLang;
42  std::map<Language, Language> _adjLang;
43  std::map<SSTRING, SSTRING> toLangByString;
44 };
45 
46 
47 } /* namespace component */
48 
49 } /* namespace HCE */
50 #endif