GpgFrontend Project
A Free, Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP(pgp) Crypto Tool.
FileReadTask.h
1 
29 #pragma once
30 
31 #include "core/GpgFrontendCore.h"
32 #include "core/thread/Task.h"
33 
34 namespace GpgFrontend::UI {
35 
40 class GPGFRONTEND_CORE_EXPORT FileReadTask : public GpgFrontend::Thread::Task {
41  Q_OBJECT
42  public:
43  explicit FileReadTask(QString path);
44 
45  virtual ~FileReadTask() override;
46 
47  int Run() override;
48 
49  signals:
50  void SignalFileBytesRead(QByteArray bytes);
51  void SignalFileBytesReadEnd();
52  void SignalFileBytesReadNext();
53 
54  private:
55  QString read_file_path_;
56  QFile target_file_;
57  QEventLoop looper;
58 
59  private slots:
60  void slot_read_bytes();
61 };
62 
63 } // namespace GpgFrontend::UI
Definition: Task.h:39
Definition: FileReadTask.h:40
Definition: FileReadTask.cpp:31