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