File indexing completed on 2024-05-12 16:16:03
0001 /* 0002 SPDX-FileCopyrightText: 2019-2023 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "textgrammarcheck_export.h" 0010 #include <QNetworkRequest> 0011 #include <QObject> 0012 class QNetworkAccessManager; 0013 class QNetworkReply; 0014 namespace TextGrammarCheck 0015 { 0016 class TEXTGRAMMARCHECK_EXPORT LanguageToolGetListOfLanguageJob : public QObject 0017 { 0018 Q_OBJECT 0019 public: 0020 explicit LanguageToolGetListOfLanguageJob(QObject *parent = nullptr); 0021 ~LanguageToolGetListOfLanguageJob() override; 0022 0023 Q_REQUIRED_RESULT bool canStart() const; 0024 void start(); 0025 0026 Q_REQUIRED_RESULT QString listOfLanguagePath() const; 0027 void setListOfLanguagePath(const QString &listOfLanguagePath); 0028 0029 QNetworkAccessManager *networkAccessManager() const; 0030 void setNetworkAccessManager(QNetworkAccessManager *networkAccessManager); 0031 0032 Q_REQUIRED_RESULT QString url() const; 0033 void setUrl(const QString &url); 0034 0035 Q_SIGNALS: 0036 void finished(const QString &result); 0037 void error(const QString &errorStr); 0038 0039 private: 0040 Q_DISABLE_COPY(LanguageToolGetListOfLanguageJob) 0041 TEXTGRAMMARCHECK_NO_EXPORT void addRequestAttribute(QNetworkRequest &request) const; 0042 TEXTGRAMMARCHECK_NO_EXPORT void slotCheckListOfLanguagesFinished(); 0043 TEXTGRAMMARCHECK_NO_EXPORT void slotFinish(QNetworkReply *reply); 0044 0045 QString mListOfLanguagePath; 0046 QNetworkAccessManager *mNetworkAccessManager = nullptr; 0047 QString mUrl; 0048 }; 0049 }