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:272
std::string outstring()
Definition: UnixProcess.cpp:358
UnixProcess()
Definition: UnixProcess.cpp:266
void writeInput(char const *ptr, int len)
Definition: UnixProcess.cpp:344
std::vector< char > errbytes
Definition: UnixProcess.h:15
static void parseArgs(std::string const &cmd, std::vector< std::string > *out)
Definition: UnixProcess.cpp:277
void start(std::string const &command, bool use_input)
Definition: UnixProcess.cpp:317
static std::optional< std::string > run_and_wait(std::string const &command)
Definition: UnixProcess.cpp:374
std::vector< char > outbytes
Definition: UnixProcess.h:14
Private * m
Definition: UnixProcess.h:11
int wait()
Definition: UnixProcess.cpp:331
std::string errstring()
Definition: UnixProcess.cpp:366
void closeInput(bool justnow)
Definition: UnixProcess.cpp:349
Definition: UnixProcess.cpp:261