Lysa  0.0
Lysa 3D Engine
ProcessRunner Class Reference

Detailed Description

Launches an external process asynchronously and streams its output line by line.

Public Typedefs

using LineCallback = std::function< void (ProcessStreamType, const std::string &line)>
 
using ExitCallback = std::function< void (int exitCode)>
 

Public Member Functions

 ProcessRunner (const std::string &command, const std::filesystem::path &workingDirectory, LineCallback onLine, ExitCallback onExit)
 
 ~ProcessRunner ()
 
bool isRunning () const
 
void terminate () const
 
 ProcessRunner (const ProcessRunner &) = delete
 
ProcessRunner & operator= (const ProcessRunner &) = delete
 

Member Typedef Documentation

using ExitCallback = std::function<void(int exitCode)>
using LineCallback = std::function<void(ProcessStreamType, const std::string& line)>

Constructor & Destructor Documentation

ProcessRunner ( const std::string &  command,
const std::filesystem::path &  workingDirectory,
LineCallback  onLine,
ExitCallback  onExit 
)
~ProcessRunner ( )
ProcessRunner ( const ProcessRunner &  )
delete

Member Function Documentation

bool isRunning ( ) const
ProcessRunner& operator= ( const ProcessRunner &  )
delete
void terminate ( ) const