PlatformAndroid.h 1023 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #pragma once
  2. #include "Platform.h"
  3. #include "../Subprocess/Subprocess.h"
  4. namespace ToolCore
  5. {
  6. EVENT(E_ANDROIDTARGETSREFRESHED, AndroidTargetsRefreshed)
  7. {
  8. }
  9. class PlatformAndroid : public Platform
  10. {
  11. OBJECT(PlatformAndroid);
  12. struct AndroidTarget
  13. {
  14. unsigned id;
  15. };
  16. public:
  17. PlatformAndroid(Context* context);
  18. virtual ~PlatformAndroid();
  19. virtual bool GetLicense();
  20. String GetName() { return "ANDROID"; }
  21. PlatformID GetPlatformID() { return PLATFORMID_ANDROID; }
  22. String GetAndroidCommand() const;
  23. String GetADBCommand() const;
  24. void RefreshAndroidTargets();
  25. const Vector<String>& GetAndroidTargets() { return androidTargets_; }
  26. BuildBase* NewBuild(Project* project);
  27. private:
  28. void HandleRefreshAndroidTargetsEvent(StringHash eventType, VariantMap& eventData);
  29. SharedPtr<Subprocess> refreshAndroidTargetsProcess_;
  30. String targetOutput_;
  31. Vector<String> androidTargets_;
  32. void PrependAndroidCommandArgs(Vector<String> args);
  33. };
  34. }