#include <ProcessCommunicatorTracePrinter.h>
Public Types | |
| enum class | TraceProcessing { Poll , Threaded } | 
Public Member Functions | |
| ProcessCommunicatorTracePrinter (AzFramework::ProcessCommunicator *communicator, const char *window, TraceProcessing processingType=TraceProcessing::Poll) | |
| void | Pump () | 
| void | Flush () | 
ProcessCommunicatorTracePrinter listens to stderr and stdout of a running process and writes its output to the AZ_Trace system Importantly, it does not do any blocking operations.
| ProcessCommunicatorTracePrinter::ProcessCommunicatorTracePrinter | ( | AzFramework::ProcessCommunicator * | communicator, | 
| const char * | window, | ||
| TraceProcessing | processingType = TraceProcessing::Poll  | 
        ||
| ) | 
Wraps a ProcessCommunicatorTracePrinter around an existing ProcessCommunicator, which it will then invoke to read from stdout/stderr. Because it is going to invoke functions on the given ProcessCommuncator which you pass in, it is important that the 'communicator' you pass in is only destroyed after you destroyProcessCommunicatorTracePrinter.
| void ProcessCommunicatorTracePrinter::Flush | ( | ) | 
Output any remaining data that exists. If using threaded trace printing, the pump thread will continue to run after calling this.
| void ProcessCommunicatorTracePrinter::Pump | ( | ) | 
Call this periodically to drain the buffers and write them. If using threaded trace printing, this should not get called