Add GUI Support
This commit is contained in:
@ -21,6 +21,13 @@ namespace Tesses::Framework::Streams
|
||||
bool IsValid();
|
||||
void Close();
|
||||
};
|
||||
enum class SocketType {
|
||||
ST_IPv4_TCP,
|
||||
ST_IPv4_UDP,
|
||||
ST_IPv6_TCP,
|
||||
ST_IPv6_UDP,
|
||||
ST_UNIX
|
||||
};
|
||||
class NetworkStream : public Stream {
|
||||
int32_t sock;
|
||||
bool owns;
|
||||
@ -30,7 +37,7 @@ namespace Tesses::Framework::Streams
|
||||
bool EndOfStream();
|
||||
bool CanRead();
|
||||
bool CanWrite();
|
||||
NetworkStream(bool ipV6,bool datagram);
|
||||
NetworkStream(SocketType type);
|
||||
NetworkStream(std::string unixPath,bool isServer);
|
||||
NetworkStream(std::string ipOrFqdn, uint16_t port, bool datagram,bool broadcast,bool supportIPv6);
|
||||
NetworkStream(int32_t sock, bool owns);
|
||||
|
||||
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