IPCServerApp.h 1002 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #pragma once
  2. #include <Atomic/IPC/IPC.h>
  3. #include "AppBase.h"
  4. namespace Atomic
  5. {
  6. class IPCServerApp : public AppBase
  7. {
  8. ATOMIC_OBJECT(IPCServerApp, AppBase)
  9. public:
  10. /// Construct.
  11. IPCServerApp(Context* context);
  12. /// Destruct.
  13. virtual ~IPCServerApp();
  14. virtual void Setup();
  15. virtual void Stop();
  16. bool RunIPCClient(const String& projectName, const String& projectPath, const String &addArgs);
  17. void RequestTogglePlayerUpdatesPaused();
  18. void RequestPlayerPauseStep();
  19. void RequestPlayerExit();
  20. private:
  21. void HandleIPCWorkerStarted(StringHash eventType, VariantMap& eventData);
  22. void HandleIPCJSError(StringHash eventType, VariantMap& eventData);
  23. void HandleIPCWorkerLog(StringHash eventType, VariantMap& eventData);
  24. void HandleIPCWorkerExit(StringHash eventType, VariantMap& eventData);
  25. SharedPtr<IPCBroker> clientBroker_;
  26. };
  27. }