Guitar
UnixPtyProcess.h
Go to the documentation of this file.
1 #ifndef UNIXPTYPROCESS_H
2 #define UNIXPTYPROCESS_H
3 
4 #include "AbstractProcess.h"
5 #include <QThread>
6 
7 class UnixPtyProcess : public AbstractPtyProcess, public QThread {
8 private:
9  struct Private;
10  Private *m;
11  bool wait_(unsigned long time = ULONG_MAX);
12  void stop_();
13 protected:
14  void run() override;
15 public:
17  ~UnixPtyProcess() override;
18  bool isRunning() const override;
19  void writeInput(char const *ptr, int len) override;
20  int readOutput(char *ptr, int len) override;
21  void start(QString const &cmd, QString const &env, QVariant const &userdata) override;
22  bool wait(unsigned long time = ULONG_MAX) override;
23  void stop() override;
24  int getExitCode() const override;
25  QString getMessage() const override;
26  void readResult(std::vector<char> *out) override;
27 };
28 
29 #endif // UNIXPTYPROCESS_H
UnixPtyProcess::run
void run() override
Definition: UnixPtyProcess.cpp:120
UnixPtyProcess.h
UnixPtyProcess::getExitCode
int getExitCode() const override
Definition: UnixPtyProcess.cpp:229
AbstractPtyProcess::user_data
QVariant user_data
Definition: AbstractProcess.h:14
UnixPtyProcess::Private::env
std::string env
Definition: UnixPtyProcess.cpp:57
UnixPtyProcess::readResult
void readResult(std::vector< char > *out) override
Definition: UnixPtyProcess.cpp:243
UnixPtyProcess::isRunning
bool isRunning() const override
Definition: UnixPtyProcess.cpp:75
UnixPtyProcess::getMessage
QString getMessage() const override
Definition: UnixPtyProcess.cpp:234
UnixPtyProcess::UnixPtyProcess
UnixPtyProcess()
Definition: UnixPtyProcess.cpp:64
UnixPtyProcess::Private::output_vector
std::vector< char > output_vector
Definition: UnixPtyProcess.cpp:60
UnixPtyProcess::wait
bool wait(unsigned long time=ULONG_MAX) override
Definition: UnixPtyProcess.cpp:115
UnixPtyProcess::Private::pty_master
int pty_master
Definition: UnixPtyProcess.cpp:58
UnixPtyProcess::Private::mutex
QMutex mutex
Definition: UnixPtyProcess.cpp:55
UnixPtyProcess::Private::exit_code
int exit_code
Definition: UnixPtyProcess.cpp:61
UnixPtyProcess::~UnixPtyProcess
~UnixPtyProcess() override
Definition: UnixPtyProcess.cpp:69
UnixPtyProcess::stop
void stop() override
Definition: UnixPtyProcess.cpp:224
UnixPtyProcess::m
Private * m
Definition: UnixPtyProcess.h:9
AbstractPtyProcess::completed
void completed(bool, QVariant)
UnixPtyProcess::stop_
void stop_()
Definition: UnixPtyProcess.cpp:218
AbstractPtyProcess::change_dir
QString change_dir
Definition: AbstractProcess.h:13
UnixPtyProcess::start
void start(QString const &cmd, QString const &env, QVariant const &userdata) override
Definition: UnixPtyProcess.cpp:101
AbstractPtyProcess
Definition: AbstractProcess.h:10
AbstractProcess.h
UnixPtyProcess::Private::output_queue
std::deque< char > output_queue
Definition: UnixPtyProcess.cpp:59
UnixPtyProcess::Private::command
std::string command
Definition: UnixPtyProcess.cpp:56
UnixPtyProcess::wait_
bool wait_(unsigned long time=ULONG_MAX)
Definition: UnixPtyProcess.cpp:110
UnixPtyProcess::readOutput
int readOutput(char *ptr, int len) override
Definition: UnixPtyProcess.cpp:86
UnixPtyProcess::writeInput
void writeInput(char const *ptr, int len) override
Definition: UnixPtyProcess.cpp:80
UnixPtyProcess
Definition: UnixPtyProcess.h:7
UnixPtyProcess::Private
Definition: UnixPtyProcess.cpp:54