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