yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
automation_bridge.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_AGENT_AUTOMATION_BRIDGE_H_
2#define YAZE_APP_EDITOR_AGENT_AUTOMATION_BRIDGE_H_
3
4#if defined(YAZE_WITH_GRPC)
5
6// Must define before any ImGui includes (test_manager.h includes ImGui headers)
7#ifndef IMGUI_DEFINE_MATH_OPERATORS
8#define IMGUI_DEFINE_MATH_OPERATORS
9#endif
10
11#include <string>
12
13#include "absl/synchronization/mutex.h"
15
16namespace yaze {
17namespace editor {
18class AgentChatWidget;
19} // namespace editor
20} // namespace yaze
21
22namespace yaze {
23namespace editor {
24
25class AutomationBridge : public test::HarnessListener {
26 public:
27 AutomationBridge() = default;
28 ~AutomationBridge() override = default;
29
30 void SetChatWidget(AgentChatWidget* widget) {
31 absl::MutexLock lock(&mutex_);
32 chat_widget_ = widget;
33 }
34
35 void OnHarnessTestUpdated(
36 const test::HarnessTestExecution& execution) override;
37
38 void OnHarnessPlanSummary(const std::string& summary) override;
39
40 private:
41 absl::Mutex mutex_;
42 AgentChatWidget* chat_widget_ ABSL_GUARDED_BY(mutex_) = nullptr;
43};
44
45} // namespace editor
46} // namespace yaze
47
48#endif // defined(YAZE_WITH_GRPC)
49
50#endif // YAZE_APP_EDITOR_AGENT_AUTOMATION_BRIDGE_H_
Main namespace for the application.
Definition controller.cc:20