29 lines
783 B
C++
29 lines
783 B
C++
#pragma once
|
|
#include "Stream.hpp"
|
|
namespace Tesses::Framework::Streams
|
|
{
|
|
struct WindowSize {
|
|
uint16_t Width;
|
|
uint16_t Height;
|
|
uint16_t Columns;
|
|
uint16_t Rows;
|
|
};
|
|
class PtyStream : public Stream
|
|
{
|
|
int socket;
|
|
int64_t pid;
|
|
bool eos;
|
|
WindowSize wS;
|
|
|
|
public:
|
|
PtyStream(WindowSize sz,std::string filename, std::vector<std::string> args,std::vector<std::string> env);
|
|
bool EndOfStream();
|
|
bool CanRead();
|
|
bool CanWrite();
|
|
size_t Read(uint8_t* buff, size_t sz);
|
|
size_t Write(const uint8_t* buff, size_t sz);
|
|
void Resize(WindowSize sz);
|
|
WindowSize GetWindowSize();
|
|
~PtyStream();
|
|
};
|
|
} |