diff --git a/VoidNetVS/VoidNetVS/VoidNetVS.vcxproj b/VoidNetVS/VoidNetVS/VoidNetVS.vcxproj
index 4cad46f..6081f28 100644
--- a/VoidNetVS/VoidNetVS/VoidNetVS.vcxproj
+++ b/VoidNetVS/VoidNetVS/VoidNetVS.vcxproj
@@ -25,6 +25,7 @@
+
diff --git a/VoidNetVS/VoidNetVS/VoidNetVS.vcxproj.filters b/VoidNetVS/VoidNetVS/VoidNetVS.vcxproj.filters
index cc7daca..46c2a5a 100644
--- a/VoidNetVS/VoidNetVS/VoidNetVS.vcxproj.filters
+++ b/VoidNetVS/VoidNetVS/VoidNetVS.vcxproj.filters
@@ -51,6 +51,9 @@
include
+
+ include
+
diff --git a/include/Config.hpp b/include/Config.hpp
index 2dcb94a..cde1296 100644
--- a/include/Config.hpp
+++ b/include/Config.hpp
@@ -5,14 +5,20 @@
#pragma once
#endif
+#include "Utility.hpp"
+
struct Config
{
+ static void Initialize();
+
static void SetUsingConsole(bool value);
static bool GetUsingConsole();
static void SetLogToFile(bool value);
static bool GetLogToFile();
+ static Utility::ConfigReader Configuration;
+
private:
static bool using_console;
static bool log_to_file;
diff --git a/include/PluginManager.hpp b/include/PluginManager.hpp
new file mode 100644
index 0000000..73cc20b
--- /dev/null
+++ b/include/PluginManager.hpp
@@ -0,0 +1,13 @@
+#ifndef PLUGIN_MANAGER_HPP
+#define PLUGIN_MANAGER_HPP
+
+#ifdef _MSC_VER
+#pragma once
+#endif
+
+struct PluginManager
+{
+
+};
+
+#endif
diff --git a/include/TcpClient.hpp b/include/TcpClient.hpp
index 57907bc..785d454 100644
--- a/include/TcpClient.hpp
+++ b/include/TcpClient.hpp
@@ -45,9 +45,9 @@ struct TcpClient
bool SendBytes(const std::vector &bytes);
bool SendBytes(byte *bytes, uint32 lenght);
- void SetOnDisconnectCallback(void (*func)(uint16));
- void SetOnConnectCallback(void (*func)(uint16));
- void SetOnMessageCallback(void (*func)(uint16, byte, byte, void*));
+ void SetOnDisconnectCallback(std::function func);
+ void SetOnConnectCallback(std::function func);
+ void SetOnMessageCallback(std::function func);
static const TcpClient &DefaultTcpClient();
diff --git a/include/UdpClient.hpp b/include/UdpClient.hpp
index d239e57..ea75fe4 100644
--- a/include/UdpClient.hpp
+++ b/include/UdpClient.hpp
@@ -31,11 +31,17 @@ struct UdpClient
uint16 GetID();
void SetID(uint16 id);
+ void ReceiveMessages();
+
+ const NetworkMessage &ReceiveMessage();
+
std::future SendMessage(const NetworkMessage &message);
bool SendBytes(const std::vector &bytes);
bool SendBytes(byte *bytes, uint32 lenght);
private:
+ const NetworkBuffer &receive_data_array();
+ static void receive_data(UdpClient *client);
bool initialize(const std::string &ip, uint16 port = default_client_port);
static bool send_network_message(const NetworkMessage &message, UdpClient *client);
diff --git a/src/Config.cpp b/src/Config.cpp
index 1182417..960e3fe 100644
--- a/src/Config.cpp
+++ b/src/Config.cpp
@@ -1,5 +1,13 @@
#include "Config.hpp"
+#include
+
+void Config::Initialize()
+{
+ Configuration.ReadConfig("config.dat");
+ Configuration.ReadNodes();
+}
+
inline void Config::SetUsingConsole(bool value)
{
using_console = value;
diff --git a/src/Init.cpp b/src/Init.cpp
index c022a35..d8dedda 100644
--- a/src/Init.cpp
+++ b/src/Init.cpp
@@ -1,3 +1,23 @@
+#include "Init.hpp"
+#include "Config.hpp"
+
+#include
+
#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
\ No newline at end of file
diff --git a/src/InitWindows.cpp b/src/InitWindows.cpp
deleted file mode 100644
index 18b8dd4..0000000
--- a/src/InitWindows.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-#include "Init.hpp"
-#include "Config.hpp"
-
-#include
-
-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;
-}
\ No newline at end of file
diff --git a/src/TcpClient.cpp b/src/TcpClient.cpp
index ef80498..904074b 100644
--- a/src/TcpClient.cpp
+++ b/src/TcpClient.cpp
@@ -89,17 +89,17 @@ std::future 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 func)
{
OnDisconnect = func;
}
-void TcpClient::SetOnConnectCallback(void(*func)(uint16))
+void TcpClient::SetOnConnectCallback(std::function func)
{
OnConnect = func;
}
-void TcpClient::SetOnMessageCallback(void(*func)(uint16, byte, byte, void*))
+void TcpClient::SetOnMessageCallback(std::function func)
{
OnMessage = func;
}
diff --git a/src/UdpClient.cpp b/src/UdpClient.cpp
index 3e4dbd9..3fec257 100644
--- a/src/UdpClient.cpp
+++ b/src/UdpClient.cpp
@@ -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 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)