3#include <EditorEngineProcessFramework/EngineProcess/EngineProcessMessages.h>
4#include <EditorFramework/EditorFrameworkDLL.h>
5#include <EditorFramework/IPC/EditorProcessCommunicationChannel.h>
6#include <Foundation/Application/Config/PluginConfig.h>
7#include <Foundation/Communication/Event.h>
8#include <Foundation/Configuration/Singleton.h>
9#include <Foundation/Types/UniquePtr.h>
10#include <GuiFoundation/UIServices/UIServices.moc.h>
38 void ShutdownProcess();
39 bool IsProcessCrashed()
const {
return m_bProcessCrashed; }
49 plResult WaitForMessage(
const plRTTI* pMessageType,
plTime timeout, plProcessCommunicationChannel ::WaitForMessageCallback* pCallback =
nullptr);
56 bool IsEngineSetup()
const {
return m_bClientIsConfigured; }
58 void ActivateRemoteProcess(
const plAssetDocument* pDocument, plUInt32 uiViewID);
76 m_Type = Type::Invalid;
87 void Initialize(
const plRTTI* pFirstAllowedMessageType);
90 bool ConnectToRemoteProcess();
91 void ShutdownRemoteProcess();
93 bool m_bProcessShouldBeRunning;
94 bool m_bProcessCrashed;
95 bool m_bClientIsConfigured;
96 plEventSubscriptionID m_TickEventSubscriptionID = 0;
97 plUInt32 m_uiRedrawCountSent = 0;
98 plUInt32 m_uiRedrawCountReceived = 0;
113 plDocument* GetDocument()
const {
return m_pDocument; }
Definition FileSystemConfig.h:8
Definition PluginConfig.h:9
Definition AssetDocument.h:42
Definition DocumentObjectBase.h:11
Definition EngineProcessConnection.h:108
Base class for all messages that are tied to some document.
Definition EngineProcessMessages.h:151
Definition EngineProcessConnection.h:21
void SetPluginConfig(const plApplicationPluginConfig &cfg)
The given plugin configuration will be used by the engine process to load runtime plugins....
Definition EngineProcessConnection.h:34
void SetFileSystemConfig(const plApplicationFileSystemConfig &cfg)
The given file system configuration will be used by the engine process to setup the runtime data dire...
Definition EngineProcessConnection.h:30
Definition EditorProcessCommunicationChannel.h:13
Definition HashTable.h:333
Definition ProcessCommunicationChannel.h:14
Base class for IPC messages transmitted by plIpcChannel.
Definition RemoteMessage.h:64
Base class for all document windows that need a connection to the engine process, and might want to r...
Definition EngineDocumentWindow.moc.h:37
This class holds information about reflected types. Each instance represents one type that is known t...
Definition RTTI.h:30
A Unique ptr manages an object and destroys that object when it goes out of scope....
Definition UniquePtr.h:10
This data type is the abstraction for 128-bit Uuid (also known as GUID) instances.
Definition Uuid.h:11
Definition EngineProcessMessages.h:401
Used by plDocumentObjectManager::m_PropertyEvents.
Definition DocumentObjectManager.h:77
Used by plDocumentObjectManager::m_StructureEvents.
Definition DocumentObjectManager.h:45
Definition EngineProcessConnection.h:63
Definition ProcessCommunicationChannel.h:33
Definition UIServices.moc.h:49
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54
The time class encapsulates a double value storing the time in seconds.
Definition Time.h:12