/* * Copyright (C) 2010, 2012 Jason A. Donenfeld */ #ifndef DICTIONARYMATCHENGINE_H #define DICTIONARYMATCHENGINE_H #include #include #include #include #include namespace Plasma { class RunnerContext; } class DictionaryMatchEngine : public QObject { Q_OBJECT public: DictionaryMatchEngine(Plasma::DataEngine *dictionaryEngine, QObject *parent = 0); QString lookupWord(const QString &word); private: struct ThreadData { QMutex mutex; QString definition; }; QMultiMap m_lockers; QReadWriteLock m_wordLock; Plasma::DataEngine *m_dictionaryEngine; private slots: void dataUpdated(const QString &name, const Plasma::DataEngine::Data &data); void sourceAdded(const QString &source); }; #endif