stuff-from-scratch/src/network/sockets/SocketInterface.h

22 lines
441 B
C
Raw Normal View History

2021-03-29 20:31:24 +00:00
#pragma once
2020-07-04 18:43:08 +00:00
#include <memory>
class Socket;
2021-03-29 20:31:24 +00:00
using SocketPtr = std::unique_ptr<Socket>;
2020-07-04 18:43:08 +00:00
2021-03-29 20:31:24 +00:00
class ISocketInterface
2020-07-04 18:43:08 +00:00
{
public:
2021-03-29 20:31:24 +00:00
ISocketInterface() = default;
2020-07-04 18:43:08 +00:00
2021-03-29 20:31:24 +00:00
virtual ~ISocketInterface() = default;
virtual void InitializeSocket(const SocketPtr& socket) = 0;
virtual void Listen(const SocketPtr& socket) = 0;
virtual void Run(const SocketPtr& socket) = 0;
2020-07-04 18:43:08 +00:00
};
2021-03-29 20:31:24 +00:00
using ISocketInterfaceUPtr = std::unique_ptr<ISocketInterface>;