stuff-from-scratch/src/network/NetworkManager.cpp
2022-11-30 18:28:50 +00:00

60 lines
1,013 B
C++

#include "NetworkManager.h"
#ifdef __linux__
#include "UnixSocketInterface.h"
#endif
#include <iostream>
NetworkManager::NetworkManager()
: mActiveSockets(),
mSocketInterface()
{
}
NetworkManager::~NetworkManager()
{
}
std::unique_ptr<NetworkManager> NetworkManager::Create()
{
return std::make_unique<NetworkManager>();
}
void NetworkManager::Initialize()
{
#ifdef __linux__
mSocketInterface = UnixSocketInterface::Create();
#endif
}
void NetworkManager::RunHttpServer()
{
if (!mSocketInterface)
{
Initialize();
}
auto socket = Socket::Create();
mSocketInterface->InitializeSocket(socket);
mSocketInterface->Listen(socket);
mSocketInterface->Run(socket);
}
void NetworkManager::RunHttpClient()
{
if (!mSocketInterface)
{
Initialize();
}
auto socket = Socket::Create();
mSocketInterface->InitializeSocket(socket, "127.0.0.1");
mSocketInterface->Write(socket, "Hello Friend");
}
void NetworkManager::ShutDown()
{
}