about summary refs log tree commit diff
path: root/src/game/server/ranking.h
diff options
context:
space:
mode:
authorsavander <savander.pl@gmail.com>2014-09-27 00:34:35 +0200
committersavander <savander.pl@gmail.com>2014-09-27 00:34:35 +0200
commit2a54f759145f86fce4ad2a333de6d9cd911d8861 (patch)
tree8509c538c26ddae9c493fbaed33a8380508d7caf /src/game/server/ranking.h
parent8c329ade7507d3f1641018f302bf2396af6a471a (diff)
downloadzcatch-2a54f759145f86fce4ad2a333de6d9cd911d8861.tar.gz
zcatch-2a54f759145f86fce4ad2a333de6d9cd911d8861.zip
zCatch:Ranking
Diffstat (limited to 'src/game/server/ranking.h')
-rw-r--r--src/game/server/ranking.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/game/server/ranking.h b/src/game/server/ranking.h
new file mode 100644
index 00000000..6c4d1495
--- /dev/null
+++ b/src/game/server/ranking.h
@@ -0,0 +1,70 @@
+#ifndef GAME_SERVER_RANKING_H
+#define GAME_SERVER_RANKING_H
+
+#include "gamecontext.h"
+
+#include <mysql_connection.h>
+
+#include <cppconn/driver.h>
+#include <cppconn/exception.h>
+#include <cppconn/statement.h>
+
+
+class CRanking
+{
+	CGameContext *m_pGameServer;
+	IServer *m_pServer;
+
+
+	sql::Driver *m_pDriver;
+	sql::Connection *m_pConnection;
+	sql::Statement *m_pStatement;
+	sql::ResultSet *m_pResults;
+
+	// copy of config vars
+	const char* m_pDatabase;
+	const char* m_pUser;
+	const char* m_pPass;
+	const char* m_pIp;
+	int m_Port;
+
+	CGameContext *GameServer()
+	{
+		return m_pGameServer;
+	}
+	IServer *Server()
+	{
+		return m_pServer;
+	}
+
+	static void SaveRankingThread(void *pUser);
+
+	void Init();
+
+	bool Connect();
+	void Disconnect();
+	// anti SQL injection
+	void ClearString(char *pString, int size = 32);
+
+
+
+public:
+
+	CRanking(CGameContext *pGameServer);
+	~CRanking();
+
+	void SaveRanking(int ClientID);
+};
+
+struct CSqlRankData
+{
+	CRanking *m_pSqlData;
+	int m_ClientID;
+#if defined(CONF_FAMILY_WINDOWS)
+	char m_aName[16]; // Don't edit this, or all your teeth will fall http://bugs.mysql.com/bug.php?id=50046
+#else
+	char m_aName[MAX_NAME_LENGTH * 2 - 1];
+#endif
+};
+
+#endif