diff -r 07949ba141b7 -r e6e5780339bd src/Socket.h --- a/src/Socket.h Thu Aug 18 22:42:42 2022 +0200 +++ b/src/Socket.h Sat Aug 20 00:20:03 2022 +0200 @@ -51,11 +51,47 @@ static const char MODE_DATAGRAM[] = "datagram"; } +class Message { +public: + std::string data; + + Message() { + } + + Message(const std::string& data) : data(data) { + } + + virtual ~Message() = default; + + +}; + +class IncomingMessage : public Message { +public: + + IncomingMessage(const std::string& data) : Message(data) { + } + +}; + +class OutgoingMessage : public Message { +public: + + OutgoingMessage(const std::string& data) : Message(data) { + } + + std::string remoteHost; + std::string remotePort; + pid_t remotePID; + uid_t remoteUID; + gid_t remoteGID; +}; + class Socket { public: virtual ~Socket() = default; - virtual void send(const std::string& message) = 0; - virtual const std::string receive() = 0; + virtual void send(const OutgoingMessage& message) = 0; + virtual const IncomingMessage receive() = 0; }; class SocketOption {