ProjectBuildSettings.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #pragma once
  2. #include <Atomic/Core/Object.h>
  3. #include <Atomic/Resource/JSONValue.h>
  4. using namespace Atomic;
  5. namespace ToolCore
  6. {
  7. class MacBuildSettings : public RefCounted
  8. {
  9. REFCOUNTED(MacBuildSettings)
  10. public:
  11. MacBuildSettings() {}
  12. const String& GetAppName() const { return appName_; }
  13. const String& GetPackageName() const { return packageName_; }
  14. const String& GetCompanyName() const { return companyName_; }
  15. const String& GetProductName() const { return productName_; }
  16. void SetAppName(const String& name) { appName_ = name; }
  17. void SetPackageName(const String& packageName) { packageName_ = packageName; }
  18. void SetCompanyName(const String& companyName) { companyName_ = companyName; }
  19. void SetProductName(const String& productName) { productName_ = productName; }
  20. void Write(JSONValue& parent);
  21. void Read(JSONValue& parent);
  22. private:
  23. String appName_;
  24. String packageName_;
  25. String companyName_;
  26. String productName_;
  27. };
  28. class ProjectBuildSettings : public Object
  29. {
  30. OBJECT(ProjectBuildSettings);
  31. public:
  32. /// Construct.
  33. ProjectBuildSettings(Context* context);
  34. /// Destruct.
  35. virtual ~ProjectBuildSettings();
  36. MacBuildSettings* GetMacBuildSettings() { return macBuildSettings_; }
  37. bool Load(const String& path);
  38. void Save(const String& path);
  39. private:
  40. SharedPtr<MacBuildSettings> macBuildSettings_;
  41. };
  42. }