Files
TrinityCore/src/server/shared/Database/Implementation/LoginDatabase.h
Shauren 665e7a06ce Core/Commands: Remove all active bans before adding new one, prevents multiple active bans for one character/account
Core/DBLayer: Converted most of ban related queries into prepared statement (might have missed some)

Closes issue #4218.

--HG--
branch : trunk
2010-09-28 21:30:05 +02:00

71 lines
2.2 KiB
C++

/*
* Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
*
* 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; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; 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 _LOGINDATABASE_H
#define _LOGINDATABASE_H
#include "DatabaseWorkerPool.h"
#include "MySQLConnection.h"
class LoginDatabaseConnection : public MySQLConnection
{
public:
//- Constructors for sync and async connections
LoginDatabaseConnection() : MySQLConnection() {}
LoginDatabaseConnection(ACE_Activation_Queue* q) : MySQLConnection(q) {}
//- Loads databasetype specific prepared statements
bool Open(const std::string& infoString);
};
typedef DatabaseWorkerPool<LoginDatabaseConnection> LoginDatabaseWorkerPool;
enum LoginDatabaseStatements
{
/* Naming standard for defines:
{DB}_{SET/DEL/ADD/REP}_{Summary of data changed}
When updating more than one field, consider looking at the calling function
name for a suiting suffix.
*/
LOGIN_GET_REALMLIST,
LOGIN_SET_EXPIREDIPBANS,
LOGIN_SET_EXPIREDACCBANS,
LOGIN_GET_IPBANNED,
LOGIN_SET_IPAUTOBANNED,
LOGIN_GET_ACCBANNED,
LOGIN_SET_ACCAUTOBANNED,
LOGIN_GET_SESSIONKEY,
LOGIN_SET_VS,
LOGIN_SET_LOGONPROOF,
LOGIN_GET_LOGONCHALLENGE,
LOGIN_SET_FAILEDLOGINS,
LOGIN_GET_FAILEDLOGINS,
LOGIN_GET_ACCIDBYNAME,
LOGIN_GET_NUMCHARSONREALM,
LOGIN_GET_ACCOUNT_BY_IP,
LOGIN_SET_IP_BANNED,
LOGIN_SET_IP_NOT_BANNED,
LOGIN_SET_ACCOUNT_BANNED,
LOGIN_SET_ACCOUNT_NOT_BANNED,
MAX_LOGINDATABASE_STATEMENTS,
};
#endif