File indexing completed on 2024-05-05 04:01:24
0001 /* 0002 SPDX-FileCopyrightText: 2019 Christoph Cullmann <cullmann@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef KSPELL_ISPELLCHECKCLIENT_H 0008 #define KSPELL_ISPELLCHECKCLIENT_H 0009 0010 #include "client_p.h" 0011 0012 #include <spellcheck.h> 0013 #include <windows.h> 0014 0015 #include <QMap> 0016 0017 namespace Sonnet 0018 { 0019 class SpellerPlugin; 0020 } 0021 using Sonnet::SpellerPlugin; 0022 0023 class ISpellCheckerClient : public Sonnet::Client 0024 { 0025 Q_OBJECT 0026 Q_INTERFACES(Sonnet::Client) 0027 Q_PLUGIN_METADATA(IID "org.kde.Sonnet.ISpellCheckerClient") 0028 public: 0029 explicit ISpellCheckerClient(QObject *parent = nullptr); 0030 ~ISpellCheckerClient() override; 0031 0032 int reliability() const override 0033 { 0034 return 40; 0035 } 0036 0037 SpellerPlugin *createSpeller(const QString &language) override; 0038 0039 QStringList languages() const override; 0040 0041 QString name() const override 0042 { 0043 return QStringLiteral("ISpellChecker"); 0044 } 0045 0046 private: 0047 // we internally keep all spell checker interfaces alive 0048 QMap<QString, ISpellChecker *> m_languages; 0049 }; 0050 0051 #endif