Open 3D Engine AzToolsFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
LegacyFramework::IPCCommandAPI Class Referenceabstract

#include <EditorFrameworkAPI.h>

Inherits AZ::EBusTraits.

Public Types

typedef AZStd::function< bool(const AZStd::string &parameters)> IPCCommandHandler
 

Public Member Functions

virtual IPCHandleType RegisterIPCHandler (const char *commandName, IPCCommandHandler handlerFn)=0
 
virtual void UnregisterIPCHandler (IPCHandleType handle)=0
 
virtual void ExecuteIPCHandlers ()=0
 
virtual void SendIPCCommand (const char *commandName, const char *parameters)=0
 

Static Public Attributes

static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single
 
static const AZ::EBusHandlerPolicy HandlerPolicy = AZ:: EBusHandlerPolicy::Single
 

Detailed Description

IPC command system allows commands to be sent to other instances of the same application

Member Function Documentation

◆ ExecuteIPCHandlers()

virtual void LegacyFramework::IPCCommandAPI::ExecuteIPCHandlers ( )
pure virtual

Called internally by the system. This exists so that IPC handlers, even if they get messages in other threads, will drain their queue only in the proper thread.

◆ RegisterIPCHandler()

virtual IPCHandleType LegacyFramework::IPCCommandAPI::RegisterIPCHandler ( const char *  commandName,
IPCCommandHandler  handlerFn 
)
pure virtual

Register a handler to handle system calls of a certain kind. The operating system will be invoking this from the "outside" and thus will be operating system 'verbs' example: handle = RegisterIPCHandler("open", SomeOpenFunction) example: handle = RegisterIPCHandler("reprocessfile" , AZStd::bind(&someclass::somefunc, this,...))) example: handle = RegisterIPCHandler("print" , PrintSomethingForSomeReason);

◆ SendIPCCommand()

virtual void LegacyFramework::IPCCommandAPI::SendIPCCommand ( const char *  commandName,
const char *  parameters 
)
pure virtual

call this to send an IPC command to the primary you can only do this if you're not a primary. It can be any command you'd like the primary to perform as long as there is a handler registered with /ref RegisterIPCHandler


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