/*
* Copyright (C) 2008-2010 Trinity
*
* 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 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