#include <ProcessCommunicator.h>
Inherits AzFramework::StdProcessCommunicator, and AzFramework::StdInOutCommunication.
Public Member Functions | |
bool | IsValid () const override |
AZ::u32 | ReadError (void *readBuffer, AZ::u32 bufferSize) override |
AZ::u32 | PeekError () override |
AZ::u32 | ReadOutput (void *readBuffer, AZ::u32 bufferSize) override |
AZ::u32 | PeekOutput () override |
AZ::u32 | WriteInput (const void *writeBuffer, AZ::u32 bytesToWrite) override |
bool | CreatePipesForProcess (ProcessData *processData) override |
virtual bool | CreatePipesForProcess (AzFramework::ProcessData *processData)=0 |
Public Member Functions inherited from AzFramework::ProcessCommunicator | |
virtual bool | IsValid () const =0 |
virtual AZ::u32 | ReadError (void *readBuffer, AZ::u32 bufferSize)=0 |
virtual AZ::u32 | PeekError ()=0 |
virtual AZ::u32 | ReadOutput (void *readBuffer, AZ::u32 bufferSize)=0 |
virtual AZ::u32 | PeekOutput ()=0 |
virtual AZ::u32 | WriteInput (const void *writeBuffer, AZ::u32 bytesToWrite)=0 |
AZ::u32 | BlockUntilErrorAvailable (AZStd::string &readBuffer) |
AZ::u32 | BlockUntilOutputAvailable (AZStd::string &readBuffer) |
void | ReadIntoProcessOutput (ProcessOutput &processOutput) |
virtual void | WaitForReadyOutputs (OutputStatus &outputStatus)=0 |
Protected Member Functions | |
void | CreateHandles () |
void | CloseAllHandles () |
void | WaitForReadyOutputs (OutputStatus &outputStatus) override |
Protected Member Functions inherited from AzFramework::ProcessCommunicator | |
AZ_DISABLE_COPY (ProcessCommunicator) | |
void | ReadFromOutputs (ProcessOutput &processOutput, OutputStatus &status) |
Protected Member Functions inherited from AzFramework::StdInOutCommunication | |
AZ::u32 | PeekHandle (StdProcessCommunicatorHandle &handle) |
AZ::u32 | ReadDataFromHandle (StdProcessCommunicatorHandle &handle, void *readBuffer, AZ::u32 bufferSize) |
AZ::u32 | WriteDataToHandle (StdProcessCommunicatorHandle &handle, const void *writeBuffer, AZ::u32 bytesToWrite) |
Protected Attributes | |
AZStd::unique_ptr< CommunicatorHandleImpl > | m_stdInWrite |
AZStd::unique_ptr< CommunicatorHandleImpl > | m_stdOutRead |
AZStd::unique_ptr< CommunicatorHandleImpl > | m_stdErrRead |
AZStd::unique_ptr< StdInOutProcessCommunicatorData > | m_communicatorData |
bool | m_initialized = false |
Communicator to talk to processes via std::in and std::out
to do this, it must provide handles for the child process to inherit before process creation
|
overridevirtual |
Implements AzFramework::StdProcessCommunicator.
|
overridevirtual |
Implements AzFramework::ProcessCommunicator.
|
overridevirtual |
Implements AzFramework::ProcessCommunicator.
|
overridevirtual |
Implements AzFramework::ProcessCommunicator.
|
overridevirtual |
Implements AzFramework::ProcessCommunicator.
|
overridevirtual |
Implements AzFramework::ProcessCommunicator.
|
overrideprotectedvirtual |
Implements AzFramework::ProcessCommunicator.
|
overridevirtual |
Implements AzFramework::ProcessCommunicator.
|
protected |
OPTIONAL - platform-specific classes can plug in additional arbitrary platform specific data in here. or leave it nullptr.