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 <QString>
7 #include <vector>
8 #include <deque>
9 #include <list>
10 
11 class UnixProcess {
12 private:
13  struct Private;
14  Private *m;
15 public:
16  std::vector<char> outbytes;
17  std::vector<char> errbytes;
18 
19  UnixProcess();
20  ~UnixProcess();
21 
22  QString outstring();
23  QString errstring();
24 
25  static void parseArgs(std::string const &cmd, std::vector<std::string> *out);
26 
27  void start(QString const &command, bool use_input);
28  int wait();
29  void writeInput(char const *ptr, int len);
30  void closeInput(bool justnow);
31 };
32 
33 #endif // UNIXPROCESS_H
UnixProcessThread::writeInput
void writeInput(char const *ptr, int len)
Definition: UnixProcess.cpp:201
OutputReaderThread::OutputReaderThread
OutputReaderThread(int fd, QMutex *mutex, std::deque< char > *out)
Definition: UnixProcess.cpp:32
UnixProcessThread::fd_in_read
int fd_in_read
Definition: UnixProcess.cpp:50
UnixProcess::errstring
QString errstring()
Definition: UnixProcess.cpp:322
UnixProcessThread::closeInput
void closeInput()
Definition: UnixProcess.cpp:207
UnixProcessThread::argvec
std::vector< std::string > argvec
Definition: UnixProcess.cpp:44
UnixProcess::writeInput
void writeInput(char const *ptr, int len)
Definition: UnixProcess.cpp:300
UnixProcess::errbytes
std::vector< char > errbytes
Definition: UnixProcess.h:17
OutputReaderThread::fd
int fd
Definition: UnixProcess.cpp:15
UnixProcessThread::errq
std::deque< char > errq
Definition: UnixProcess.cpp:48
OutputReaderThread::run
void run() override
Definition: UnixProcess.cpp:19
UnixProcess::Private::th
UnixProcessThread th
Definition: UnixProcess.cpp:218
UnixProcessThread::mutex
QMutex * mutex
Definition: UnixProcess.cpp:43
UnixProcess
Definition: UnixProcess.h:11
OutputReaderThread::mutex
QMutex * mutex
Definition: UnixProcess.cpp:16
UnixProcess::outstring
QString outstring()
Definition: UnixProcess.cpp:314
UnixProcess::~UnixProcess
~UnixProcess()
Definition: UnixProcess.cpp:227
UnixProcessThread
Definition: UnixProcess.cpp:41
UnixProcessThread::args
std::vector< char * > args
Definition: UnixProcess.cpp:45
UnixProcess::UnixProcess
UnixProcess()
Definition: UnixProcess.cpp:221
UnixProcessThread::init
void init(QMutex *mutex, bool use_input)
Definition: UnixProcess.cpp:56
UnixProcessThread::run
void run() override
Definition: UnixProcess.cpp:76
UnixProcess::wait
int wait()
Definition: UnixProcess.cpp:287
UnixProcess::m
Private * m
Definition: UnixProcess.h:13
UnixProcess::closeInput
void closeInput(bool justnow)
Definition: UnixProcess.cpp:305
OutputReaderThread::buffer
std::deque< char > * buffer
Definition: UnixProcess.cpp:17
UnixProcess::parseArgs
static void parseArgs(std::string const &cmd, std::vector< std::string > *out)
Definition: UnixProcess.cpp:232
UnixProcess::Private::mutex
QMutex mutex
Definition: UnixProcess.cpp:217
UnixProcess.h
UnixProcessThread::inq
std::deque< char > inq
Definition: UnixProcess.cpp:46
UnixProcessThread::close_input_later
bool close_input_later
Definition: UnixProcess.cpp:53
UnixProcessThread::reset
void reset()
Definition: UnixProcess.cpp:61
UnixProcessThread::use_input
bool use_input
Definition: UnixProcess.cpp:49
UnixProcess::outbytes
std::vector< char > outbytes
Definition: UnixProcess.h:16
UnixProcessThread::pid
int pid
Definition: UnixProcess.cpp:51
UnixProcess::start
void start(QString const &command, bool use_input)
Definition: UnixProcess.cpp:272
OutputReaderThread
Definition: UnixProcess.cpp:13
UnixProcessThread::outq
std::deque< char > outq
Definition: UnixProcess.cpp:47
UnixProcess::Private
Definition: UnixProcess.cpp:216
UnixProcessThread::exit_code
int exit_code
Definition: UnixProcess.cpp:52