Guitar
UnixProcess.h
Go to the documentation of this file.
1 #ifndef UNIXPROCESS_H
2 #define UNIXPROCESS_H
3 
4 #include <vector>
5 #include <string>
6 #include <vector>
7 #include <optional>
8 
9 class UnixProcess {
10 private:
11  struct Private;
13 public:
14  std::vector<char> outbytes;
15  std::vector<char> errbytes;
16 
17  UnixProcess();
18  ~UnixProcess();
19 
20  std::string outstring();
21  std::string errstring();
22 
23  static void parseArgs(std::string const &cmd, std::vector<std::string> *out);
24 
25  void start(std::string const &command, bool use_input);
26  int wait();
27  void writeInput(char const *ptr, int len);
28  void closeInput(bool justnow);
29 
30  static std::optional<std::string> run_and_wait(std::string const &command);
31 };
32 
33 #endif // UNIXPROCESS_H
Definition: UnixProcess.h:9
~UnixProcess()
Definition: UnixProcess.cpp:277
std::string outstring()
Definition: UnixProcess.cpp:364
UnixProcess()
Definition: UnixProcess.cpp:271
void writeInput(char const *ptr, int len)
Definition: UnixProcess.cpp:350
std::vector< char > errbytes
Definition: UnixProcess.h:15
static void parseArgs(std::string const &cmd, std::vector< std::string > *out)
Definition: UnixProcess.cpp:282
void start(std::string const &command, bool use_input)
Definition: UnixProcess.cpp:322
static std::optional< std::string > run_and_wait(std::string const &command)
Definition: UnixProcess.cpp:380
std::vector< char > outbytes
Definition: UnixProcess.h:14
Private * m
Definition: UnixProcess.h:11
int wait()
Definition: UnixProcess.cpp:337
std::string errstring()
Definition: UnixProcess.cpp:372
void closeInput(bool justnow)
Definition: UnixProcess.cpp:355
Definition: UnixProcess.cpp:266