#pragma once #include "TCPCommon.h" #include #include namespace Feather::Network { class TCPListener { public: TCPListener(uint16_t port, IListenerInterface* callbacks); ~TCPListener(); protected: friend class TCPClient; void OnClientConnect(TCPClientHandle&& client); void OnClientDisconnected(const TCPClient* client); private: IListenerInterface* m_callbacks; std::unique_ptr m_socket; }; }