Guitar
GenerateCommitMessageThread.h
Go to the documentation of this file.
1 #ifndef GENERATECOMMITMESSAGETHREAD_H
2 #define GENERATECOMMITMESSAGETHREAD_H
3 
4 #include <QObject>
7 #include <condition_variable>
8 #include <mutex>
9 #include <thread>
10 
11 class GenerateCommitMessageThread : public QObject {
12  Q_OBJECT
13 public:
15  std::mutex mutex_;
16  std::thread thread_;
17  std::condition_variable cv_;
18  bool requested_ = false;
19  bool interrupted_ = false;
21  std::string diff_;
22  QString hint_;
23 
26  void start();
27  void stop();
28  void request(CommitMessageGenerator::Kind kind, std::string const &diff, QString const &hint = {});
29 signals:
30  void ready(GeneratedCommitMessage const &message);
31 
32 };
33 
34 #endif // GENERATECOMMITMESSAGETHREAD_H
Definition: CommitMessageGenerator.h:8
Kind
Definition: CommitMessageGenerator.h:10
Definition: GenerateCommitMessageThread.h:11
CommitMessageGenerator::Kind kind_
Definition: GenerateCommitMessageThread.h:20
CommitMessageGenerator gen_
Definition: GenerateCommitMessageThread.h:14
bool interrupted_
Definition: GenerateCommitMessageThread.h:19
std::condition_variable cv_
Definition: GenerateCommitMessageThread.h:17
std::string diff_
Definition: GenerateCommitMessageThread.h:21
void ready(GeneratedCommitMessage const &message)
void request(CommitMessageGenerator::Kind kind, std::string const &diff, QString const &hint={})
Definition: GenerateCommitMessageThread.cpp:47
std::thread thread_
Definition: GenerateCommitMessageThread.h:16
void start()
Definition: GenerateCommitMessageThread.cpp:15
QString hint_
Definition: GenerateCommitMessageThread.h:22
~GenerateCommitMessageThread()
Definition: GenerateCommitMessageThread.cpp:10
bool requested_
Definition: GenerateCommitMessageThread.h:18
GenerateCommitMessageThread()
Definition: GenerateCommitMessageThread.cpp:6
void stop()
Definition: GenerateCommitMessageThread.cpp:38
std::mutex mutex_
Definition: GenerateCommitMessageThread.h:15
Definition: GeneratedCommitMessage.h:7