AEExternalTool.h 755 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. #pragma once
  5. #include <Atomic/Core/Object.h>
  6. #include "Subprocess/AESubprocess.h"
  7. using namespace Atomic;
  8. namespace AtomicEditor
  9. {
  10. class ExternalTool : public Object {
  11. OBJECT(ExternalTool);
  12. public:
  13. /// Construct.
  14. ExternalTool(Context* context);
  15. /// Destruct.
  16. virtual ~ExternalTool();
  17. virtual bool Launch(const String& args) = 0;
  18. virtual void Open(const String& fullpath) {}
  19. protected:
  20. bool LaunchInternal(const String& applicationPath, const String& args);
  21. SharedPtr<Subprocess> subprocess_;
  22. private:
  23. };
  24. }