Wire Sysio Wire Sysion 1.0.0
|
abstract interface for interacting with external processes More...
#include <iprocess.hpp>
Public Types | |
enum | exec_opts { open_none = 0 , open_stdin = 0x01 , open_stdout = 0x02 , open_stderr = 0x04 , open_all = open_stdin|open_stdout|open_stderr , suppress_console = 0x08 } |
Public Member Functions | |
virtual | ~iprocess () |
virtual iprocess & | exec (const path &exe, std::vector< std::string > args, const path &work_dir=path(), int opts=open_all)=0 |
virtual int | result (const microseconds &timeout=microseconds::maximum())=0 |
virtual void | kill ()=0 |
virtual buffered_ostream_ptr | in_stream ()=0 |
returns a stream that writes to the process' stdin | |
virtual buffered_istream_ptr | out_stream ()=0 |
returns a stream that reads from the process' stdout | |
virtual buffered_istream_ptr | err_stream ()=0 |
returns a stream that reads from the process' stderr | |
At the very least we have ssh::process and direct child processes, and there may be other processes that need to implement this protocol.
Definition at line 16 of file iprocess.hpp.
Enumerator | |
---|---|
open_none | |
open_stdin | |
open_stdout | |
open_stderr | |
open_all | |
suppress_console |
Definition at line 19 of file iprocess.hpp.
|
inlinevirtual |
Definition at line 28 of file iprocess.hpp.
|
pure virtual |
Implemented in fc::process.
|
pure virtual |
Implemented in fc::process.
|
pure virtual |
Implemented in fc::process.
|
pure virtual |
Forcefully kills the process.
Implemented in fc::process.
|
pure virtual |
Implemented in fc::process.
|
pure virtual |
Implemented in fc::process.