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:
14  std::mutex mutex_;
15  std::thread thread_;
16  std::condition_variable cv_;
17  bool requested_ = false;
18  bool interrupted_ = false;
20  std::string diff_;
21  QString hint_;
22 
25  void start();
26  void stop();
27  void request(std::string const &diff, GenerativeAI::Model ai_model, QString const &hint = {});
28 signals:
29  void ready(GeneratedCommitMessage const &message);
30 
31 };
32 
33 #endif // GENERATECOMMITMESSAGETHREAD_H
Definition: GenerateCommitMessageThread.h:11
void request(std::string const &diff, GenerativeAI::Model ai_model, QString const &hint={})
Definition: GenerateCommitMessageThread.cpp:48
bool interrupted_
Definition: GenerateCommitMessageThread.h:18
std::condition_variable cv_
Definition: GenerateCommitMessageThread.h:16
std::string diff_
Definition: GenerateCommitMessageThread.h:20
void ready(GeneratedCommitMessage const &message)
GenerativeAI::Model ai_model_
Definition: GenerateCommitMessageThread.h:19
std::thread thread_
Definition: GenerateCommitMessageThread.h:15
void start()
Definition: GenerateCommitMessageThread.cpp:16
QString hint_
Definition: GenerateCommitMessageThread.h:21
~GenerateCommitMessageThread()
Definition: GenerateCommitMessageThread.cpp:11
bool requested_
Definition: GenerateCommitMessageThread.h:17
GenerateCommitMessageThread()
Definition: GenerateCommitMessageThread.cpp:6
void stop()
Definition: GenerateCommitMessageThread.cpp:39
std::mutex mutex_
Definition: GenerateCommitMessageThread.h:14
Definition: GeneratedCommitMessage.h:7
Definition: GenerativeAI.h:63