diff --git a/loginserver/CMakeLists.txt b/loginserver/CMakeLists.txt index 3af0c7e66..a0ed71a91 100644 --- a/loginserver/CMakeLists.txt +++ b/loginserver/CMakeLists.txt @@ -13,7 +13,6 @@ SET(eqlogin_sources SET(eqlogin_headers client.h client_manager.h - database.h database_mysql.h encryption.h login_server.h diff --git a/loginserver/database.h b/loginserver/database.h deleted file mode 100644 index 6b0e1fa68..000000000 --- a/loginserver/database.h +++ /dev/null @@ -1,148 +0,0 @@ -/** - * EQEmulator: Everquest Server Emulator - * Copyright (C) 2001-2019 EQEmulator Development Team (https://github.com/EQEmu/Server) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY except by those people which sell it, which - * are required to give you total support for your newly bought product; - * without even the implied warranty of MERCHANTABILITY or FITNESS FOR - * A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - */ - -#ifndef EQEMU_DATABASE_H -#define EQEMU_DATABASE_H - -#include - -#define EQEMU_MYSQL_ENABLED - -/** -* Base database class, intended to be extended. -*/ -class Database { -public: - Database() : user(""), pass(""), host(""), port(""), name("") {} - virtual ~Database() {} - - virtual bool IsConnected() { return false; } - - /** - * Retrieves the login data (password hash and account id) from the account name provided needed for client login procedure - * - * @param name - * @param loginserver - * @param password - * @param id - * @return - */ - virtual bool GetLoginDataFromAccountInfo( - const std::string &name, - const std::string &loginserver, - std::string &password, - unsigned int &id - ) { return false; } - - virtual bool GetLoginTokenDataFromToken( - const std::string &token, - const std::string &ip, - unsigned int &db_account_id, - std::string &db_loginserver, - std::string &user - ) { return false; } - - virtual bool CreateLoginData( - const std::string &name, - const std::string &password, - const std::string &loginserver, - unsigned int &id - ) { return false; } - - virtual bool CreateLoginDataWithID( - const std::string &name, - const std::string &password, - const std::string &loginserver, - unsigned int id - ) { return false; } - - virtual void UpdateLoginHash(const std::string &name, const std::string &loginserver, const std::string &hash) {} - - virtual bool DoesLoginServerAccountExist( - const std::string &name, - const std::string &password, - const std::string &loginserver, - unsigned int id - ) { return false; } - - /** - * Retrieves the world registration from the long and short names provided - * Needed for world login procedure - * Returns true if the record was found, false otherwise - * - * @param long_name - * @param short_name - * @param id - * @param desc - * @param list_id - * @param trusted - * @param list_desc - * @param account - * @param password - * @return - */ - virtual bool GetWorldRegistration( - std::string long_name, - std::string short_name, - unsigned int &id, - std::string &desc, - unsigned int &list_id, - unsigned int &trusted, - std::string &list_desc, - std::string &account, - std::string &password - ) { return false; } - - virtual void UpdateLSAccountData(unsigned int id, std::string ip_address) {} - - /** - * Updates or creates the login server account with info from world server - * - * @param id - * @param name - * @param password - * @param email - */ - virtual void UpdateLSAccountInfo(unsigned int id, std::string name, std::string password, std::string email) {} - - /** - * Updates the ip address of the world with account id = id - * - * @param id - * @param long_name - * @param ip_address - */ - virtual void UpdateWorldRegistration(unsigned int id, std::string long_name, std::string ip_address) {} - - /** - * Creates new world registration for unregistered servers and returns new id - * - * @param long_name - * @param short_name - * @param id - * @return - */ - virtual bool CreateWorldRegistration(std::string long_name, std::string short_name, unsigned int &id) { return false; } -protected: - std::string user, pass, host, port, name; -}; - -#endif - diff --git a/loginserver/database_mysql.cpp b/loginserver/database_mysql.cpp index c961d9b6f..62f75d0af 100644 --- a/loginserver/database_mysql.cpp +++ b/loginserver/database_mysql.cpp @@ -19,9 +19,6 @@ */ #include "../common/global_define.h" -#include "database.h" - -#ifdef EQEMU_MYSQL_ENABLED #include "database_mysql.h" #include "login_server.h" @@ -605,5 +602,3 @@ bool DatabaseMySQL::CreateWorldRegistration(std::string long_name, std::string s short_name.c_str()); return false; } - -#endif diff --git a/loginserver/database_mysql.h b/loginserver/database_mysql.h index 5f1c31779..3b4c5c0cc 100644 --- a/loginserver/database_mysql.h +++ b/loginserver/database_mysql.h @@ -21,11 +21,8 @@ #ifndef EQEMU_DATABASEMYSQL_H #define EQEMU_DATABASEMYSQL_H -#include "database.h" #include "../common/dbcore.h" -#ifdef EQEMU_MYSQL_ENABLED - #include #include #include @@ -50,8 +47,8 @@ public: /** * Destructor, frees our database if needed. */ - virtual ~DatabaseMySQL(); - virtual bool IsConnected() { return (database != nullptr); } + ~DatabaseMySQL(); + bool IsConnected() { return (database != nullptr); } /** * Retrieves the login data (password hash and account id) from the account name provided needed for client login procedure. @@ -61,36 +58,36 @@ public: * @param id * @return */ - virtual bool GetLoginDataFromAccountInfo( + bool GetLoginDataFromAccountInfo( const std::string &name, const std::string &loginserver, std::string &password, unsigned int &id ); - virtual bool GetLoginTokenDataFromToken( + bool GetLoginTokenDataFromToken( const std::string &token, const std::string &ip, unsigned int &db_account_id, std::string &db_loginserver, std::string &user ); - virtual unsigned int GetFreeID(const std::string &loginserver); - virtual bool CreateLoginData( + unsigned int GetFreeID(const std::string &loginserver); + bool CreateLoginData( const std::string &name, const std::string &password, const std::string &loginserver, unsigned int &id ); - virtual bool CreateLoginDataWithID( + bool CreateLoginDataWithID( const std::string &name, const std::string &password, const std::string &loginserver, unsigned int id ); - virtual void UpdateLoginHash(const std::string &name, const std::string &loginserver, const std::string &hash); + void UpdateLoginHash(const std::string &name, const std::string &loginserver, const std::string &hash); - virtual bool DoesLoginServerAccountExist( + bool DoesLoginServerAccountExist( const std::string &name, const std::string &password, const std::string &loginserver, @@ -113,7 +110,7 @@ public: * @param password * @return */ - virtual bool GetWorldRegistration( + bool GetWorldRegistration( std::string long_name, std::string short_name, unsigned int &id, @@ -125,15 +122,14 @@ public: std::string &password ); - virtual void UpdateLSAccountData(unsigned int id, std::string ip_address); - virtual void UpdateLSAccountInfo(unsigned int id, std::string name, std::string password, std::string email); - virtual void UpdateWorldRegistration(unsigned int id, std::string long_name, std::string ip_address); - virtual bool CreateWorldRegistration(std::string long_name, std::string short_name, unsigned int &id); + void UpdateLSAccountData(unsigned int id, std::string ip_address); + void UpdateLSAccountInfo(unsigned int id, std::string name, std::string password, std::string email); + void UpdateWorldRegistration(unsigned int id, std::string long_name, std::string ip_address); + bool CreateWorldRegistration(std::string long_name, std::string short_name, unsigned int &id); protected: std::string user, pass, host, port, name; MYSQL *database; }; #endif -#endif diff --git a/loginserver/login_server.h b/loginserver/login_server.h index bc257ddef..4696e8120 100644 --- a/loginserver/login_server.h +++ b/loginserver/login_server.h @@ -23,7 +23,6 @@ #define EQEMU_LOGINSERVER_H #include "../common/json_config.h" -#include "database.h" #include "database_mysql.h" #include "encryption.h" #include "options.h"