Open 3D Engine AzFramework 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.
AzFramework::StdInOutProcessCommunicator Class Reference

#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< CommunicatorHandleImplm_stdInWrite
 
AZStd::unique_ptr< CommunicatorHandleImplm_stdOutRead
 
AZStd::unique_ptr< CommunicatorHandleImplm_stdErrRead
 
AZStd::unique_ptr< StdInOutProcessCommunicatorDatam_communicatorData
 
bool m_initialized = false
 

Detailed Description

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

Member Function Documentation

◆ CreatePipesForProcess()

bool AzFramework::StdInOutProcessCommunicator::CreatePipesForProcess ( ProcessData processData)
overridevirtual

◆ IsValid()

bool AzFramework::StdInOutProcessCommunicator::IsValid ( ) const
overridevirtual

◆ PeekError()

AZ::u32 AzFramework::StdInOutProcessCommunicator::PeekError ( )
overridevirtual

◆ PeekOutput()

AZ::u32 AzFramework::StdInOutProcessCommunicator::PeekOutput ( )
overridevirtual

◆ ReadError()

AZ::u32 AzFramework::StdInOutProcessCommunicator::ReadError ( void *  readBuffer,
AZ::u32  bufferSize 
)
overridevirtual

◆ ReadOutput()

AZ::u32 AzFramework::StdInOutProcessCommunicator::ReadOutput ( void *  readBuffer,
AZ::u32  bufferSize 
)
overridevirtual

◆ WaitForReadyOutputs()

void AzFramework::StdInOutProcessCommunicator::WaitForReadyOutputs ( OutputStatus outputStatus)
overrideprotectedvirtual

◆ WriteInput()

AZ::u32 AzFramework::StdInOutProcessCommunicator::WriteInput ( const void *  writeBuffer,
AZ::u32  bytesToWrite 
)
overridevirtual

Member Data Documentation

◆ m_communicatorData

AZStd::unique_ptr<StdInOutProcessCommunicatorData> AzFramework::StdInOutProcessCommunicator::m_communicatorData
protected

OPTIONAL - platform-specific classes can plug in additional arbitrary platform specific data in here. or leave it nullptr.


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