From e576d13a4f583fa4c00c64cc7cc7f3739363850d Mon Sep 17 00:00:00 2001 From: Kiritow <1362050620@qq.com> Date: Thu, 1 Jun 2017 19:43:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20'SubProcessIO.h'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SubProcessIO.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 SubProcessIO.h 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; +};