--- 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 {