aboutsummaryrefslogtreecommitdiff
path: root/src/Core/CoreObject
diff options
context:
space:
mode:
Diffstat (limited to 'src/Core/CoreObject')
-rw-r--r--src/Core/CoreObject/coreobject.cpp5
-rw-r--r--src/Core/CoreObject/coreobject.h30
-rw-r--r--src/Core/CoreObject/serverinfostructure.h31
3 files changed, 66 insertions, 0 deletions
diff --git a/src/Core/CoreObject/coreobject.cpp b/src/Core/CoreObject/coreobject.cpp
new file mode 100644
index 0000000..11d1ab6
--- /dev/null
+++ b/src/Core/CoreObject/coreobject.cpp
@@ -0,0 +1,5 @@
+#include "coreobject.h"
+
+CoreObject::CoreObject()
+{
+}
diff --git a/src/Core/CoreObject/coreobject.h b/src/Core/CoreObject/coreobject.h
new file mode 100644
index 0000000..91bd33b
--- /dev/null
+++ b/src/Core/CoreObject/coreobject.h
@@ -0,0 +1,30 @@
+#ifndef COREOBJECT_H
+#define COREOBJECT_H
+
+#include "Core/CoreObject/serverinfostructure.h"
+#include "Core/GameInfo/gameinfostructure.h"
+#include "Logger/logger.h"
+#include "Settings/settingstructure.h"
+
+class CoreObject
+{
+public:
+ CoreObject();
+
+ // struct with internal and external settings
+ SettingStructure Settings;
+
+ // list of game details: gamename, cipher
+ QHash<QString, GameInfo> SupportedGames;
+
+ // logging functions
+ Logger Log;
+
+ // server address list acquired through third party masterservers
+ QList<ServerInfo> PendingServers;
+
+ // generate our session/identification string, to prevent self-syncing
+ QString masterserverIdentity; // msid value
+};
+
+#endif // COREOBJECT_H
diff --git a/src/Core/CoreObject/serverinfostructure.h b/src/Core/CoreObject/serverinfostructure.h
new file mode 100644
index 0000000..4f86adb
--- /dev/null
+++ b/src/Core/CoreObject/serverinfostructure.h
@@ -0,0 +1,31 @@
+#ifndef SERVERINFOSTRUCTURE_H
+#define SERVERINFOSTRUCTURE_H
+
+#include <QDateTime>
+#include <QHostAddress>
+
+struct ServerInfo
+{
+ // server address
+ QHostAddress ip;
+
+ // server port
+ unsigned short port = 0;
+
+ // gamename
+ QString gamename = "";
+
+ // date that the serverinfo was added or last updated
+ qint64 time = QDateTime::currentSecsSinceEpoch();
+};
+
+// compare operator
+inline bool operator== (const ServerInfo serverInfo1, const ServerInfo serverInfo2)
+{
+ // compare address, port and gamename. ignore time.
+ return ( serverInfo1.ip.isEqual(serverInfo2.ip) and
+ serverInfo1.port == serverInfo2.port and
+ serverInfo1.gamename == serverInfo2.gamename );
+}
+
+#endif // SERVERINFOSTRUCTURE_H