TcpClient: replaced C style function parameters with std::function

Added initialization to config
Added receiving for UdpClient
Removed InitWindows.cpp
Laying foundation for PluginManager
This commit is contained in:
xX-TheDoctor-Xx
2016-10-31 14:05:03 +00:00
parent a9549c33e3
commit 91f80a6c58
11 changed files with 82 additions and 28 deletions

View File

@ -1,5 +1,13 @@
#include "Config.hpp"
#include <fstream>
void Config::Initialize()
{
Configuration.ReadConfig("config.dat");
Configuration.ReadNodes();
}
inline void Config::SetUsingConsole(bool value)
{
using_console = value;

View File

@ -1,3 +1,23 @@
#include "Init.hpp"
#include "Config.hpp"
#include <iostream>
#ifdef _MSC_VER
#include "InitWindows.cpp"
bool Initialization::Initialize()
{
uint16 code = WSAStartup(MAKEWORD(2, 2), &wsa_data);
if (code != 0)
{
if (Config::GetUsingConsole())
std::cerr << code << std::endl; // display some more information too
return false;
}
return true;
}
const WSADATA &Initialization::GetData()
{
return wsa_data;
}
#endif

View File

@ -1,21 +0,0 @@
#include "Init.hpp"
#include "Config.hpp"
#include <iostream>
bool Initialization::Initialize()
{
uint16 code = WSAStartup(MAKEWORD(2, 2), &wsa_data);
if (code != 0)
{
if (Config::GetUsingConsole())
std::cerr << code << std::endl; // display some more information too
return false;
}
return true;
}
const WSADATA &Initialization::GetData()
{
return wsa_data;
}

View File

@ -89,17 +89,17 @@ std::future<bool> TcpClient::SendMessage(const NetworkMessage &message)
return std::async(std::launch::async, &send_network_message, message, this);
}
void TcpClient::SetOnDisconnectCallback(void(*func)(uint16))
void TcpClient::SetOnDisconnectCallback(std::function<void(uint16)> func)
{
OnDisconnect = func;
}
void TcpClient::SetOnConnectCallback(void(*func)(uint16))
void TcpClient::SetOnConnectCallback(std::function<void(uint16)> func)
{
OnConnect = func;
}
void TcpClient::SetOnMessageCallback(void(*func)(uint16, byte, byte, void*))
void TcpClient::SetOnMessageCallback(std::function<void(uint16, byte, byte, void*)> func)
{
OnMessage = func;
}

View File

@ -36,6 +36,15 @@ void UdpClient::SetID(uint16 id)
this->id = id;
}
void UdpClient::ReceiveMessages()
{
}
const NetworkMessage & UdpClient::ReceiveMessage()
{
// TODO: insert return statement here
}
std::future<bool> UdpClient::SendMessage(const NetworkMessage & message)
{
return std::async(std::launch::async, &send_network_message, message, this);
@ -56,6 +65,15 @@ UdpClient::UdpClient(const SOCKET & socket)
udp_socket = socket;
}
const NetworkBuffer & UdpClient::receive_data_array()
{
// TODO: insert return statement here
}
void UdpClient::receive_data(UdpClient * client)
{
}
bool UdpClient::initialize(const std::string &ip, uint16 port)
{
if (Utility::IPUtil::ValidIPV4(ip) || port == 0)