GpgFrontend Project
A Free, Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP(pgp) Crypto Tool.
ListedKeyServerTestTask.h
1 
27 #ifndef GPGFRONTEND_LISTEDKEYSERVERTESTTHREAD_H
28 #define GPGFRONTEND_LISTEDKEYSERVERTESTTHREAD_H
29 
30 #include <vector>
31 
32 #include "GpgFrontendUI.h"
33 #include "core/thread/Task.h"
34 
35 namespace GpgFrontend::UI {
36 
42  Q_OBJECT
43  public:
44  enum KeyServerTestResultType {
45  kTestResultType_Success,
46  kTestResultType_Timeout,
47  kTestResultType_Error,
48  };
49 
50  explicit ListedKeyServerTestTask(const QStringList& urls, int timeout,
51  QWidget* parent = nullptr);
52 
53  signals:
60  std::vector<KeyServerTestResultType> result);
61 
62  protected:
67  void run() override;
68 
69  private:
70  QStringList urls_;
71  std::vector<KeyServerTestResultType> result_;
72  QNetworkAccessManager* network_manager_;
73  int timeout_ = 500;
74  int result_count_ = 0;
75 
82  void slot_process_network_reply(int index, QNetworkReply* reply);
83 };
84 
85 } // namespace GpgFrontend::UI
86 
88 
89 #endif // GPGFRONTEND_LISTEDKEYSERVERTESTTHREAD_H
GpgFrontend::UI
Definition: FileReadTask.cpp:31
GpgFrontend::UI::ListedKeyServerTestTask::SignalKeyServerListTestResult
void SignalKeyServerListTestResult(std::vector< KeyServerTestResultType > result)
GpgFrontend::UI::ListedKeyServerTestTask::ListedKeyServerTestTask
ListedKeyServerTestTask(const QStringList &urls, int timeout, QWidget *parent=nullptr)
Definition: ListedKeyServerTestTask.cpp:31
GpgFrontend::UI::ListedKeyServerTestTask::slot_process_network_reply
void slot_process_network_reply(int index, QNetworkReply *reply)
Definition: ListedKeyServerTestTask.cpp:73
GpgFrontend::Thread::Task
Definition: Task.h:45
TestListedKeyServerThread
Definition: ListedKeyServerTestTask.h:87
GpgFrontend::UI::ListedKeyServerTestTask
Definition: ListedKeyServerTestTask.h:41