|
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.