From c8da75b7ed467f42775eb0d507f2704516775ab2 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Thu, 22 Sep 2022 08:10:43 -0400 Subject: sockets: Make fd member variable protected Other things shouldn't be able to directly mess around with the descriptor --- src/core/internal_network/sockets.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/core/internal_network/sockets.h') diff --git a/src/core/internal_network/sockets.h b/src/core/internal_network/sockets.h index a70429b19..2e328c645 100644 --- a/src/core/internal_network/sockets.h +++ b/src/core/internal_network/sockets.h @@ -32,6 +32,10 @@ public: std::unique_ptr socket; SockAddrIn sockaddr_in; }; + + SocketBase() = default; + explicit SocketBase(SOCKET fd_) : fd{fd_} {} + virtual ~SocketBase() = default; virtual SocketBase& operator=(const SocketBase&) = delete; @@ -89,12 +93,19 @@ public: virtual void HandleProxyPacket(const ProxyPacket& packet) = 0; + [[nodiscard]] SOCKET GetFD() const { + return fd; + } + +protected: SOCKET fd = INVALID_SOCKET; }; class Socket : public SocketBase { public: Socket() = default; + explicit Socket(SOCKET fd_) : SocketBase{fd_} {} + ~Socket() override; Socket(const Socket&) = delete; -- cgit v1.2.3