Plasma Engine  2.0
Loading...
Searching...
No Matches
plLongOpProxy Class Referenceabstract

Proxy long ops represent a long operation on the editor side. More...

#include <LongOps.h>

Inheritance diagram for plLongOpProxy:

Public Member Functions

virtual void InitializeRegistered (const plUuid &documentGuid, const plUuid &componentGuid)
 Called once by plLongOpControllerManager::RegisterLongOp() to inform the proxy to which plDocument and component (plDocumentObject) it is linked.
 
virtual const char * GetDisplayName () const =0
 Called by the plQtLongOpsPanel to determine the display string to be shown in the UI.
 
virtual void GetReplicationInfo (plStringBuilder &out_sReplicationOpType, plStreamWriter &inout_config)=0
 Called every time the long op shall be executed.
 
virtual void Finalize (plResult result, const plDataBuffer &resultData)
 Called once the corresponding plLongOpWorker has finished.
 
- Public Member Functions inherited from plReflectedClass
virtual const plRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const plRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
PL_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Additional Inherited Members

- Static Public Member Functions inherited from plNoBase
static const plRTTIGetStaticRTTI ()
 

Detailed Description

Proxy long ops represent a long operation on the editor side.

Proxy long ops have little functionality other than naming which plLongOpWorker to execute in the engine process and to feed it with the necessary parameters. Since the proxy long op runs in the editor process, it may access plDocumentObject's and extract data from them.

Member Function Documentation

◆ Finalize()

virtual void plLongOpProxy::Finalize ( plResult result,
const plDataBuffer & resultData )
inlinevirtual

Called once the corresponding plLongOpWorker has finished.

Parameters
resultWhether the operation succeeded or failed (e.g. via user cancellation).
resultDataOptional data written by plLongOpWorker::Execute().

Reimplemented in plLongOpProxy_BakeScene, and plLongOpProxy_BuildNavMesh.

◆ GetDisplayName()

virtual const char * plLongOpProxy::GetDisplayName ( ) const
pure virtual

Called by the plQtLongOpsPanel to determine the display string to be shown in the UI.

Implemented in plLongOpProxy_BakeScene, and plLongOpProxy_BuildNavMesh.

◆ GetReplicationInfo()

virtual void plLongOpProxy::GetReplicationInfo ( plStringBuilder & out_sReplicationOpType,
plStreamWriter & inout_config )
pure virtual

Called every time the long op shall be executed.

Parameters
out_sReplicationOpTypemust name the plLongOpWorker that shall be executed in the engine process.
configcan be optionally written to. The data is transmitted to the plLongOpWorker on the other side and fed to it in plLongOpWorker::InitializeExecution().

Implemented in plLongOpProxy_BakeScene, and plLongOpProxy_BuildNavMesh.

◆ InitializeRegistered()

virtual void plLongOpProxy::InitializeRegistered ( const plUuid & documentGuid,
const plUuid & componentGuid )
inlinevirtual

Called once by plLongOpControllerManager::RegisterLongOp() to inform the proxy to which plDocument and component (plDocumentObject) it is linked.

Reimplemented in plLongOpProxy_BakeScene, and plLongOpProxy_BuildNavMesh.


The documentation for this class was generated from the following file: