AEExternalTooling.h 839 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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 "AEExternalTool.h"
  7. using namespace Atomic;
  8. namespace AtomicEditor
  9. {
  10. /// External tools subsystem
  11. class ExternalTooling : public Object {
  12. OBJECT(ExternalTooling);
  13. public:
  14. /// Construct.
  15. ExternalTooling(Context* context);
  16. /// Destruct.
  17. virtual ~ExternalTooling();
  18. String GetToolApplicationPath();
  19. void LaunchOrOpen(const String& name, const String& fullpath);
  20. void ToolExited(const String& name);
  21. private:
  22. void HandleEditorShutdown(StringHash eventType, VariantMap& eventData);
  23. HashMap<String, SharedPtr<ExternalTool> > tools_;
  24. };
  25. }