Guitar
Win32PtyProcess.h
Go to the documentation of this file.
1 #ifndef WIN32PTYPROCESS_H
2 #define WIN32PTYPROCESS_H
3 
4 #include <AbstractProcess.h>
5 #include <QString>
6 #include <QThread>
7 #include <vector>
8 
9 
10 class Win32PtyProcess : public AbstractPtyProcess, public QThread {
11 private:
12  struct Private;
13  Private *m;
14 
15  static QString getProgram(QString const &cmdline);
16 
17 protected:
18  void run();
19 public:
21  ~Win32PtyProcess() override;
22  bool isRunning() const override;
23  int readOutput(char *dstptr, int maxlen) override;
24  void writeInput(char const *ptr, int len) override;
25  void start(QString const &cmdline, const QString &env, QVariant const &userdata) override;
26  bool wait(unsigned long time = ULONG_MAX) override;
27  void stop() override;
28  int getExitCode() const override;
29  QString getMessage() const override;
30  void clearResult();
31  void readResult(std::vector<char> *out) override;
32 };
33 
34 
35 #endif // WIN32PTYPROCESS_H
Win32PtyProcess::~Win32PtyProcess
~Win32PtyProcess() override
Definition: Win32PtyProcess.cpp:70
Win32PtyProcess::start
void start(QString const &cmdline, const QString &env, QVariant const &userdata) override
Definition: Win32PtyProcess.cpp:227
Win32PtyProcess::Private::exit_code
DWORD exit_code
Definition: Win32PtyProcess.cpp:62
Win32PtyProcess::Win32PtyProcess
Win32PtyProcess()
Definition: Win32PtyProcess.cpp:65
Win32PtyProcess::Private::mutex
QMutex mutex
Definition: Win32PtyProcess.cpp:53
Win32PtyProcess::Private::env
QString env
Definition: Win32PtyProcess.cpp:55
OutputReaderThread::run
void run() override
Definition: UnixProcess.cpp:19
Win32PtyProcess::Private::hProcess
HANDLE hProcess
Definition: Win32PtyProcess.cpp:59
Win32PtyProcess::Private::hInput
HANDLE hInput
Definition: Win32PtyProcess.cpp:61
AbstractPtyProcess::user_data
QVariant user_data
Definition: AbstractProcess.h:14
Win32PtyProcess::clearResult
void clearResult()
Win32PtyProcess::Private::command
QString command
Definition: Win32PtyProcess.cpp:54
Win32PtyProcess::isRunning
bool isRunning() const override
Definition: Win32PtyProcess.cpp:75
Win32PtyProcess::Private::output_queue
std::deque< char > output_queue
Definition: Win32PtyProcess.cpp:56
Win32PtyProcess::getMessage
QString getMessage() const override
Definition: Win32PtyProcess.cpp:255
Win32PtyProcess.h
Win32PtyProcess::readOutput
int readOutput(char *dstptr, int maxlen) override
Definition: Win32PtyProcess.cpp:174
Win32PtyProcess::readResult
void readResult(std::vector< char > *out) override
Definition: Win32PtyProcess.cpp:264
Win32PtyProcess::Private::hOutput
HANDLE hOutput
Definition: Win32PtyProcess.cpp:60
Win32PtyProcess::Private::th_output_reader
OutputReaderThread th_output_reader
Definition: Win32PtyProcess.cpp:58
Win32PtyProcess
Definition: Win32PtyProcess.h:10
Win32PtyProcess::stop
void stop() override
Definition: Win32PtyProcess.cpp:241
Win32PtyProcess::m
Private * m
Definition: Win32PtyProcess.h:12
Win32PtyProcess::writeInput
void writeInput(char const *ptr, int len) override
Definition: Win32PtyProcess.cpp:188
AbstractPtyProcess::completed
void completed(bool, QVariant)
AbstractPtyProcess::change_dir
QString change_dir
Definition: AbstractProcess.h:13
AbstractPtyProcess
Definition: AbstractProcess.h:10
Win32PtyProcess::run
void run()
Definition: Win32PtyProcess.cpp:117
OutputReaderThread
Definition: UnixProcess.cpp:13
Win32PtyProcess::getExitCode
int getExitCode() const override
Definition: Win32PtyProcess.cpp:250
AbstractProcess.h
Win32PtyProcess::Private::output_vector
std::vector< char > output_vector
Definition: Win32PtyProcess.cpp:57
Win32PtyProcess::Private
Definition: Win32PtyProcess.cpp:52
Win32PtyProcess::wait
bool wait(unsigned long time=ULONG_MAX) override
Definition: Win32PtyProcess.cpp:236
Win32PtyProcess::getProgram
static QString getProgram(QString const &cmdline)
Definition: Win32PtyProcess.cpp:80