BuildSettings.cpp 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. // Copyright (c) 2014-2015, THUNDERBEAST GAMES LLC All rights reserved
  2. // Please see LICENSE.md in repository root for license information
  3. // https://github.com/AtomicGameEngine/AtomicGameEngine
  4. /*
  5. #include "AtomicEditor.h"
  6. #include <Atomic/Core/CoreEvents.h>
  7. #include "AtomicEditor.h"
  8. #include "BuildSettings.h"
  9. namespace ToolCore
  10. {
  11. BuildSettings::BuildSettings(Context* context) :
  12. Object(context)
  13. {
  14. }
  15. BuildSettings::~BuildSettings()
  16. {
  17. }
  18. String BuildSettings::GetStringMember(rapidjson::Value::Member* jobject, const String& name)
  19. {
  20. rapidjson::Value::Member* member = jobject->value.FindMember(name.CString());
  21. if (!member || !member->value.IsString())
  22. return "";
  23. return member->value.GetString();
  24. }
  25. void BuildSettings::Load(rapidjson::Value::Member* jobject)
  26. {
  27. // ANDROID ------
  28. rapidjson::Value::Member* jandroid = jobject->value.FindMember("android");
  29. if (jandroid && jandroid->value.IsObject())
  30. {
  31. android_.appName = GetStringMember(jandroid, "app_name");
  32. android_.package = GetStringMember(jandroid, "package");
  33. android_.targetSDKVersion = GetStringMember(jandroid, "target_sdk_version");
  34. android_.minSDKVersion = GetStringMember(jandroid, "min_sdk_version");
  35. android_.activityName = GetStringMember(jandroid, "activity_name");
  36. android_.companyName = GetStringMember(jandroid, "company_name");
  37. android_.productName = GetStringMember(jandroid, "product_name");
  38. }
  39. // END ANDROID ------
  40. // IOS ------
  41. rapidjson::Value::Member* jios = jobject->value.FindMember("ios");
  42. if (jios && jios->value.IsObject())
  43. {
  44. ios_.appName = GetStringMember(jios, "app_name");
  45. ios_.package = GetStringMember(jios, "package");
  46. ios_.provisionFile = GetStringMember(jios, "provision_file");
  47. ios_.companyName = GetStringMember(jios, "company_name");
  48. ios_.productName = GetStringMember(jios, "product_name");
  49. ios_.appidPrefix = GetStringMember(jios, "appid_prefix");
  50. }
  51. // END IOS ------
  52. // Mac ------
  53. rapidjson::Value::Member* jmac = jobject->value.FindMember("mac");
  54. if (jmac && jmac->value.IsObject())
  55. {
  56. mac_.appName = GetStringMember(jmac, "app_name");
  57. mac_.package = GetStringMember(jmac, "package");
  58. mac_.companyName = GetStringMember(jmac, "company_name");
  59. mac_.productName = GetStringMember(jmac, "product_name");
  60. }
  61. // END Mac ------
  62. // Windows ------
  63. rapidjson::Value::Member* jwindows = jobject->value.FindMember("windows");
  64. if (jwindows && jwindows->value.IsObject())
  65. {
  66. windows_.appName = GetStringMember(jwindows, "app_name");
  67. windows_.package = GetStringMember(jwindows, "package");
  68. windows_.companyName = GetStringMember(jwindows, "company_name");
  69. windows_.productName = GetStringMember(jwindows, "product_name");
  70. }
  71. // END Windows ------
  72. // WebGL ------
  73. rapidjson::Value::Member* jwebgl = jobject->value.FindMember("webgl");
  74. if (jwebgl && jwebgl->value.IsObject())
  75. {
  76. webgl_.appName = GetStringMember(jwebgl, "app_name");
  77. webgl_.package = GetStringMember(jwebgl, "package");
  78. webgl_.companyName = GetStringMember(jwebgl, "company_name");
  79. webgl_.productName = GetStringMember(jwebgl, "product_name");
  80. }
  81. // END WebGL ------
  82. }
  83. void BuildSettings::Save(rapidjson::PrettyWriter<rapidjson::FileStream>& writer)
  84. {
  85. writer.String("build_settings");
  86. writer.StartObject();
  87. writer.String("version");
  88. writer.Int(1);
  89. // ANDROID ------
  90. writer.String("android");
  91. writer.StartObject();
  92. writer.String("app_name");
  93. writer.String(android_.appName.CString());
  94. writer.String("package");
  95. writer.String(android_.package.CString());
  96. writer.String("target_sdk_version");
  97. writer.String(android_.targetSDKVersion.CString());
  98. writer.String("min_sdk_version");
  99. writer.String(android_.minSDKVersion.CString());
  100. writer.String("activity_name");
  101. writer.String(android_.activityName.CString());
  102. writer.String("company_name");
  103. writer.String(android_.companyName.CString());
  104. writer.String("product_name");
  105. writer.String(android_.productName.CString());
  106. writer.EndObject();
  107. // END ANDROID ------
  108. // IOS ------
  109. writer.String("ios");
  110. writer.StartObject();
  111. writer.String("app_name");
  112. writer.String(ios_.appName.CString());
  113. writer.String("package");
  114. writer.String(ios_.package.CString());
  115. writer.String("provision_file");
  116. writer.String(ios_.provisionFile.CString());
  117. writer.String("company_name");
  118. writer.String(ios_.companyName.CString());
  119. writer.String("product_name");
  120. writer.String(ios_.productName.CString());
  121. writer.String("appid_prefix");
  122. writer.String(ios_.appidPrefix.CString());
  123. writer.EndObject();
  124. // END IOS ------
  125. // Mac ------
  126. writer.String("mac");
  127. writer.StartObject();
  128. writer.String("app_name");
  129. writer.String(mac_.appName.CString());
  130. writer.String("package");
  131. writer.String(mac_.package.CString());
  132. writer.String("company_name");
  133. writer.String(mac_.companyName.CString());
  134. writer.String("product_name");
  135. writer.String(mac_.productName.CString());
  136. writer.EndObject();
  137. // END Mac ------
  138. // Windows ------
  139. writer.String("windows");
  140. writer.StartObject();
  141. writer.String("app_name");
  142. writer.String(windows_.appName.CString());
  143. writer.String("package");
  144. writer.String(windows_.package.CString());
  145. writer.String("company_name");
  146. writer.String(windows_.companyName.CString());
  147. writer.String("product_name");
  148. writer.String(windows_.productName.CString());
  149. writer.EndObject();
  150. // END Windows ------
  151. // WebGL ------
  152. writer.String("webgl");
  153. writer.StartObject();
  154. writer.String("app_name");
  155. writer.String(webgl_.appName.CString());
  156. writer.String("package");
  157. writer.String(webgl_.package.CString());
  158. writer.String("company_name");
  159. writer.String(webgl_.companyName.CString());
  160. writer.String("product_name");
  161. writer.String(webgl_.productName.CString());
  162. writer.EndObject();
  163. // END WebGL ------
  164. writer.EndObject();
  165. }
  166. }
  167. */