1 #ifndef ABSTRACTPROCESS_H
2 #define ABSTRACTPROCESS_H
9 #include <condition_variable>
17 virtual void start(
const std::string &command,
bool use_input) = 0;
76 virtual void start(std::string
const &cmd, std::string
const &env,
bool use_input) = 0;
77 virtual bool wait(
unsigned long time = ULONG_MAX) = 0;
Definition: AbstractProcess.h:13
virtual bool isRunning() const =0
virtual std::vector< char > const & stderr_bytes() const =0
virtual void start(const std::string &command, bool use_input)=0
virtual void writeInput(char const *ptr, int len)=0
virtual ~AbstractProcess()
Definition: AbstractProcess.h:15
virtual void closeInput(bool justnow)=0
virtual std::vector< char > const & stdout_bytes() const =0
virtual int getExitCode() const =0
Definition: AbstractProcess.h:31
QString change_dir_
Definition: AbstractProcess.h:35
std::function< void(bool, const QVariant &)> completed_fn_
Definition: AbstractProcess.h:41
virtual void writeInput(char const *ptr, int len)=0
std::deque< char > output_queue_
Definition: AbstractProcess.h:37
void clearMessage()
Definition: AbstractProcess.cpp:14
virtual bool wait(unsigned long time=ULONG_MAX)=0
std::condition_variable cond_
Definition: AbstractProcess.h:34
virtual int readOutputStreaming(char *ptr, int len)=0
virtual void start(std::string const &cmd, std::string const &env, bool use_input)=0
virtual ~AbstractPtyProcess()
Definition: AbstractProcess.h:48
void setChangeDir(QString const &dir)
Definition: AbstractProcess.cpp:3
void setCompletedHandler(std::function< void(bool, const QVariant &)> fn, QVariant const &userdata)
Definition: AbstractProcess.h:51
virtual int getExitCode() const =0
QVariant user_data_
Definition: AbstractProcess.h:36
std::vector< char > const & stdout_bytes() const
Definition: AbstractProcess.h:67
virtual bool isRunning() const =0
std::vector< char > stderr_bytes_
Definition: AbstractProcess.h:40
std::vector< char > output_vector_
Definition: AbstractProcess.h:38
void notifyCompleted()
Definition: AbstractProcess.h:57
void writeOutput(char const *buf, size_t len)
Definition: AbstractProcess.h:42
std::vector< char > const & stderr_bytes() const
Definition: AbstractProcess.h:71
std::vector< char > stdout_bytes_
Definition: AbstractProcess.h:39
std::mutex mutex_
Definition: AbstractProcess.h:33
std::string getMessage() const
Definition: AbstractProcess.cpp:8