equal
deleted
inserted
replaced
49 |
49 |
50 static const char MODE_STREAM[] = "stream"; |
50 static const char MODE_STREAM[] = "stream"; |
51 static const char MODE_DATAGRAM[] = "datagram"; |
51 static const char MODE_DATAGRAM[] = "datagram"; |
52 } |
52 } |
53 |
53 |
|
54 class Message { |
|
55 public: |
|
56 std::string data; |
|
57 |
|
58 Message() { |
|
59 } |
|
60 |
|
61 Message(const std::string& data) : data(data) { |
|
62 } |
|
63 |
|
64 virtual ~Message() = default; |
|
65 |
|
66 |
|
67 }; |
|
68 |
|
69 class IncomingMessage : public Message { |
|
70 public: |
|
71 |
|
72 IncomingMessage(const std::string& data) : Message(data) { |
|
73 } |
|
74 |
|
75 }; |
|
76 |
|
77 class OutgoingMessage : public Message { |
|
78 public: |
|
79 |
|
80 OutgoingMessage(const std::string& data) : Message(data) { |
|
81 } |
|
82 |
|
83 std::string remoteHost; |
|
84 std::string remotePort; |
|
85 pid_t remotePID; |
|
86 uid_t remoteUID; |
|
87 gid_t remoteGID; |
|
88 }; |
|
89 |
54 class Socket { |
90 class Socket { |
55 public: |
91 public: |
56 virtual ~Socket() = default; |
92 virtual ~Socket() = default; |
57 virtual void send(const std::string& message) = 0; |
93 virtual void send(const OutgoingMessage& message) = 0; |
58 virtual const std::string receive() = 0; |
94 virtual const IncomingMessage receive() = 0; |
59 }; |
95 }; |
60 |
96 |
61 class SocketOption { |
97 class SocketOption { |
62 public: |
98 public: |
63 const std::string name; |
99 const std::string name; |