#pragma once #include #include #include "Socket.h" #include "SocketInterface.h" class NetworkManager { std::vector mActiveSockets; SocketInterfaceUPtr mSocketInterface; public: NetworkManager(); ~NetworkManager(); static std::unique_ptr Create(); void Initialize(); void OpenSocket(SocketPtr socket); void CloseSocket(SocketPtr socket); void RunHttpServer(); void ShutDown(); }; using NetworkManagerUPtr = std::unique_ptr;