Add GUI Support
This commit is contained in:
29
include/TessesFramework/Streams/PtyStream.hpp
Normal file
29
include/TessesFramework/Streams/PtyStream.hpp
Normal file
@ -0,0 +1,29 @@
|
||||
#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();
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user