HCE project C++ developers source code library  1.1.1
HCE project developer library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ProcExec.hpp
Go to the documentation of this file.
1 
14 #ifndef PROC_EXEC_HPP
15 #define PROC_EXEC_HPP
16 
17 #include <vector>
18 #include <Poco/Process.h>
19 
20 #include "ExecBase.hpp"
21 
22 //-----------------------------------------------------------------------------
23 class ProcExec : public ExecBase
24 {
25 public:
26  explicit ProcExec(const std::string& cmd_);
27  ProcExec(const std::string& cmd_, const Poco::Process::Args& args_);
28  ProcExec(const std::string& cmd_, const Poco::Process::Args& args_, const Poco::Process::Env& env_);
29  virtual ~ProcExec(void) {};
30 
31  bool exec(std::ostream& os=std::cout, std::ostream& es=std::cerr);
32 
33  void setArgs(const Poco::Process::Args& args_) {args=args_;}
34  Poco::Process::Args& getArgs(void) {return args;}
35 
36  void setEnv(const Poco::Process::Env& env_) {env=env_;}
37  Poco::Process::Env& getEnv(void) {return env;}
38 private:
39  Poco::Process::Args args;
40  Poco::Process::Env env;
41 
42  friend std::ostream& operator << (std::ostream& os, const ProcExec& procExec);
43  friend std::string& operator << (std::string& str, const ProcExec& procExec);
44  typedef ExecBase inherited;
45 };
46 //-----------------------------------------------------------------------------
47 //-----------------------------------------------------------------------------
48 #endif // PROC_EXEC_HPP