2#include <fc/thread/future.hpp>
abstract interface for interacting with external processes
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
virtual iprocess & exec(const path &exe, std::vector< std::string > args, const path &work_dir=path(), int opts=open_all)=0
virtual buffered_ostream_ptr in_stream()=0
returns a stream that writes to the process' stdin
virtual int result(const microseconds &timeout=microseconds::maximum())=0
static constexpr microseconds maximum()
wraps boost::filesystem::path to provide platform independent path manipulation.
std::shared_ptr< buffered_istream > buffered_istream_ptr
std::shared_ptr< iprocess > iprocess_ptr
std::shared_ptr< buffered_ostream > buffered_ostream_ptr