Guitar
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
ProcessPosix Class Reference

#include <ProcessPosix.h>

Inheritance diagram for ProcessPosix:
Inheritance graph
[legend]
Collaboration diagram for ProcessPosix:
Collaboration graph
[legend]

Classes

struct  Private
 

Public Member Functions

 ProcessPosix ()
 
 ~ProcessPosix ()
 
bool isRunning () const override
 
void writeInput (const char *ptr, int len) override
 
int readOutput (char *ptr, int len)
 
void start (const std::string &command, bool use_input) override
 
int wait () override
 
void stop () override
 
int getExitCode () const override
 
void readResult (std::vector< char > *out)
 
std::vector< char > const & stdout_bytes () const override
 
std::vector< char > const & stderr_bytes () const override
 
void closeInput (bool justnow) override
 
- Public Member Functions inherited from AbstractProcess
virtual ~AbstractProcess ()
 

Private Types

using ProcessResult = process::ProcessResult
 

Private Member Functions

void writeStdOut (char const *buf, size_t len)
 
void writeStdErr (char const *buf, size_t len)
 
std::optional< ProcessResultrun (const std::string &cmd, bool use_input)
 
 ProcessPosix (ProcessPosix &&)=delete
 
 ProcessPosix (const ProcessPosix &)=delete
 
ProcessPosixoperator= (ProcessPosix &&)=delete
 
ProcessPosixoperator= (const ProcessPosix &)=delete
 

Private Attributes

Privatem
 

Member Typedef Documentation

◆ ProcessResult

Constructor & Destructor Documentation

◆ ProcessPosix() [1/3]

ProcessPosix::ProcessPosix ( ProcessPosix &&  )
privatedelete

◆ ProcessPosix() [2/3]

ProcessPosix::ProcessPosix ( const ProcessPosix )
privatedelete

◆ ProcessPosix() [3/3]

ProcessPosix::ProcessPosix ( )

◆ ~ProcessPosix()

ProcessPosix::~ProcessPosix ( )
Here is the call graph for this function:

Member Function Documentation

◆ closeInput()

void ProcessPosix::closeInput ( bool  justnow)
overridevirtual

Implements AbstractProcess.

◆ getExitCode()

int ProcessPosix::getExitCode ( ) const
overridevirtual

Implements AbstractProcess.

◆ isRunning()

bool ProcessPosix::isRunning ( ) const
overridevirtual

Implements AbstractProcess.

◆ operator=() [1/2]

ProcessPosix& ProcessPosix::operator= ( const ProcessPosix )
privatedelete

◆ operator=() [2/2]

ProcessPosix& ProcessPosix::operator= ( ProcessPosix &&  )
privatedelete

◆ readOutput()

int ProcessPosix::readOutput ( char *  ptr,
int  len 
)

◆ readResult()

void ProcessPosix::readResult ( std::vector< char > *  out)

◆ run()

std::optional< process::ProcessResult > ProcessPosix::run ( const std::string &  cmd,
bool  use_input 
)
private
Here is the call graph for this function:

◆ start()

void ProcessPosix::start ( const std::string &  command,
bool  use_input 
)
overridevirtual

Implements AbstractProcess.

Here is the call graph for this function:

◆ stderr_bytes()

std::vector< char > const & ProcessPosix::stderr_bytes ( ) const
overridevirtual

Implements AbstractProcess.

◆ stdout_bytes()

std::vector< char > const & ProcessPosix::stdout_bytes ( ) const
overridevirtual

Implements AbstractProcess.

◆ stop()

void ProcessPosix::stop ( )
overridevirtual

Implements AbstractProcess.

Here is the call graph for this function:

◆ wait()

int ProcessPosix::wait ( )
overridevirtual

Implements AbstractProcess.

Here is the call graph for this function:

◆ writeInput()

void ProcessPosix::writeInput ( const char *  ptr,
int  len 
)
overridevirtual

Implements AbstractProcess.

◆ writeStdErr()

void ProcessPosix::writeStdErr ( char const *  buf,
size_t  len 
)
private

◆ writeStdOut()

void ProcessPosix::writeStdOut ( char const *  buf,
size_t  len 
)
private

Member Data Documentation

◆ m

Private* ProcessPosix::m
private

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