35 lines
551 B
C++
35 lines
551 B
C++
#ifndef CCPROCESS_H
|
|
#define CCPROCESS_H
|
|
|
|
#include <CCString.h>
|
|
#include "cstdio"
|
|
#include "queue"
|
|
|
|
#define CC_PROCESS_MAX_BUFFER_SIZE 1024
|
|
|
|
class CCProcess
|
|
{
|
|
private:
|
|
FILE* pipe = nullptr;
|
|
std::queue<CCString> CommandQueues;
|
|
std::queue<CCString> ReadBuffer;
|
|
bool Flag = false;
|
|
public:
|
|
CCProcess() = default;
|
|
CCProcess(CCProcess& p);
|
|
void AddCommand(const CCString& Command);
|
|
void Start(bool blocking = false);
|
|
void Stop();
|
|
CCString ReadLineBuffer();
|
|
bool IsRunning() const;
|
|
private:
|
|
|
|
public:
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|