1 #ifndef HPP_1B27929682B56C19E1A0F2F27FFA199F4CCA2E2D
2 #define HPP_1B27929682B56C19E1A0F2F27FFA199F4CCA2E2D
3 #include <soulng/util/Json.hpp>
4 #include <cmajor/build/BuildApi.hpp>
5 #include <string>
6 #include <vector>
7 #include <memory>
8
9 struct SourceFileInfo
10 {
11 SourceFileInfo();
12 SourceFileInfo(soulng::util::JsonValue* value);
13 std::unique_ptr<soulng::util::JsonValue> ToJson() const;
14 std::string fileId;
15 std::string fileHash;
16 std::string filePath;
17 std::string content;
18 std::string info;
19 };
20
21 struct ProjectInfo
22 {
23 ProjectInfo();
24 ProjectInfo(soulng::util::JsonValue* value);
25 std::unique_ptr<soulng::util::JsonValue> ToJson() const;
26 std::string projectId;
27 std::string projectHash;
28 std::string projectFilePath;
29 std::string projectName;
30 std::vector<SourceFileInfo> fileInfos;
31 std::vector<std::string> dependsOnProjects;
32 std::string target;
33 std::string info;
34 std::string error;
35 };
36
37 struct ProjectUpToDate
38 {
39 ProjectUpToDate();
40 ProjectUpToDate(soulng::util::JsonValue* value);
41 std::unique_ptr<soulng::util::JsonValue> ToJson() const;
42 std::string projectId;
43 bool upToDate;
44 std::string info;
45 std::string error;
46 };
47
48 struct ProjectUpdated
49 {
50 ProjectUpdated();
51 ProjectUpdated(soulng::util::JsonValue* value);
52 std::unique_ptr<soulng::util::JsonValue> ToJson() const;
53 std::string projectId;
54 bool ok;
55 std::string info;
56 std::string error;
57 };
58
59 struct ProjectToBuild
60 {
61 ProjectToBuild();
62 ProjectToBuild(soulng::util::JsonValue* value);
63 std::unique_ptr<soulng::util::JsonValue> ToJson() const;
64 std::string projectId;
65 std::string projectHash;
66 bool only;
67 bool rebuild;
68 bool sendBuildOutput;
69 std::string config;
70 std::string toolChain;
71 };
72
73 struct ProjectBuilt
74 {
75 ProjectBuilt();
76 ProjectBuilt(soulng::util::JsonValue* value);
77 std::unique_ptr<soulng::util::JsonValue> ToJson() const;
78 std::string projectId;
79 bool ok;
80 std::string info;
81 std::string error;
82 };
83
84 struct MessageLine
85 {
86 MessageLine();
87 MessageLine(soulng::util::JsonValue* value);
88 std::unique_ptr<soulng::util::JsonValue> ToJson() const;
89 std::string line;
90 };
91
92 struct MessageShown
93 {
94 MessageShown();
95 MessageShown(soulng::util::JsonValue* value);
96 std::unique_ptr<soulng::util::JsonValue> ToJson() const;
97 std::string error;
98 };
99
100 struct Error
101 {
102 Error();
103 Error(soulng::util::JsonValue* value);
104 std::unique_ptr<soulng::util::JsonValue> ToJson() const;
105 std::string info;
106 std::string error;
107 };
108
109 struct CloseConnection
110 {
111 CloseConnection();
112 CloseConnection(soulng::util::JsonValue* value);
113 std::unique_ptr<soulng::util::JsonValue> ToJson() const;
114 std::string info;
115 std::string error;
116 };
117
118 #endif // HPP_1B27929682B56C19E1A0F2F27FFA199F4CCA2E2D