1 #include "tmservice.h"
6 #include <QMutexLocker>
8 #include <QPluginLoader>
12 TM::Service::Service(QSettings *settings, QObject *parent)
14 , m_settings(settings)
15 , m_mutex(QMutex::Recursive)
19 void TM::Service::load_languages(QString const &path)
21 QMutexLocker lock(&m_mutex);
24 for(QString fname : pdir.entryList(QDir::Files))
26 QPluginLoader loader(pdir.absoluteFilePath(fname));
27 if(Language *language = qobject_cast<Language*>(loader.instance()))
29 int code = language->code();
30 m_languages[code] = language;
31 language->set_settings(m_settings);
32 emit languageLoaded(code, language->name(), language->icon());
37 Text::pointer TM::Service::divide_into_sentences(int code, QString string)
39 QMutexLocker lock(&m_mutex);
41 assert(m_languages.contains(code));
42 return m_languages[code]->divide_into_sentences(string);
45 Text::pointer TM::Service::divide_into_words(int code, Text::pointer sentence)
47 QMutexLocker lock(&m_mutex);
49 assert(m_languages.contains(code));
50 return m_languages[code]->divide_into_words(sentence);