--- a/src/Socket.h Thu Jul 28 02:45:11 2022 +0200
+++ b/src/Socket.h Fri Jul 29 18:03:49 2022 +0200
@@ -32,17 +32,26 @@
class Socket {
public:
virtual ~Socket() = default;
- // virtual void setOption(const std::string& uri, const std::string& value) = 0;
virtual void send(const std::string& message) = 0;
virtual const std::string receive() = 0;
};
+class SocketOption {
+public:
+ const std::string name;
+ const std::string value;
+
+ SocketOption(const std::string name, const std::string value) : name(name), value(value) {
+ }
+
+ virtual ~SocketOption() = default;
+};
+
class SocketFactory {
public:
virtual ~SocketFactory() = default;
virtual bool canHandle(const std::string& connectionString) = 0;
- // virtual void setOption(const std::string& uri, const std::string& value) = 0;
- virtual Socket* open(const std::string& connectionString) = 0;
+ virtual std::shared_ptr<Socket> open(const std::string& connectionString) = 0;
static std::shared_ptr<SocketFactory> find(const std::string& connectionString);
};