diff --git a/SubProcessIO.h b/SubProcessIO.h new file mode 100644 index 0000000..c86b4f8 --- /dev/null +++ b/SubProcessIO.h @@ -0,0 +1,24 @@ +#pragma once +#include +#include + +class SubProcessIO +{ +public: + SubProcessIO(const std::string& Command,bool TerminateOnDestruct=false) throw(std::runtime_error); + SubProcessIO(const SubProcessIO& )=delete; + ~SubProcessIO(); + int writeToSubProcess(const char* buffer,int szToWrite); + int peekSubProcess(); + int readFromSubProcess(char* buffer,int szToRead); + int wait(); + int wait(int ms); + int getExitCode(); + int terminate(); + void detach(); +protected: + int createSubProcessWith(const std::string& Command); +private: + struct _impl; + _impl* _pimpl; +};