BuildSettings.cpp 6.2 KB

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