yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
widget_discovery_service.h
Go to the documentation of this file.
1#ifndef YAZE_APP_CORE_SERVICE_WIDGET_DISCOVERY_SERVICE_H_
2#define YAZE_APP_CORE_SERVICE_WIDGET_DISCOVERY_SERVICE_H_
3
4#include <string>
5#include <vector>
6
7#include "absl/strings/string_view.h"
8#ifdef _WIN32
9#pragma push_macro("DWORD")
10#pragma push_macro("ERROR")
11#undef DWORD
12#undef ERROR
13#endif // _WIN32
14#include "protos/imgui_test_harness.pb.h"
15#ifdef _WIN32
16#pragma pop_macro("DWORD")
17#pragma pop_macro("ERROR")
18#endif // _WIN32
20
21#if defined(YAZE_ENABLE_IMGUI_TEST_ENGINE) && YAZE_ENABLE_IMGUI_TEST_ENGINE
22#include "imgui_test_engine/imgui_te_context.h"
23#else
24struct ImGuiTestContext;
25#endif
26
27namespace yaze {
28namespace test {
29
30// Service responsible for transforming widget registry data into
31// DiscoverWidgetsResponse payloads.
33 public:
35
36 void CollectWidgets(ImGuiTestContext* ctx,
37 const DiscoverWidgetsRequest& request,
38 DiscoverWidgetsResponse* response) const;
39
40 private:
41 bool MatchesWindow(absl::string_view window_name,
42 absl::string_view filter) const;
43 bool MatchesPathPrefix(absl::string_view path,
44 absl::string_view prefix) const;
45 bool MatchesType(absl::string_view type,
46 WidgetType filter) const;
47
48 std::string ExtractWindowName(absl::string_view path) const;
49 std::string ExtractLabel(absl::string_view path) const;
50 std::string SuggestedAction(absl::string_view type,
51 absl::string_view label) const;
52};
53
54} // namespace test
55} // namespace yaze
56
57#endif // YAZE_APP_CORE_SERVICE_WIDGET_DISCOVERY_SERVICE_H_
bool MatchesPathPrefix(absl::string_view path, absl::string_view prefix) const
void CollectWidgets(ImGuiTestContext *ctx, const DiscoverWidgetsRequest &request, DiscoverWidgetsResponse *response) const
bool MatchesType(absl::string_view type, WidgetType filter) const
std::string ExtractLabel(absl::string_view path) const
bool MatchesWindow(absl::string_view window_name, absl::string_view filter) const
std::string ExtractWindowName(absl::string_view path) const
std::string SuggestedAction(absl::string_view type, absl::string_view label) const
Main namespace for the application.
Definition controller.cc:20