2014-08-04 10:29:31 +00:00
|
|
|
// vim: set ts=4 sw=4 tw=99 noet:
|
|
|
|
//
|
|
|
|
// AMX Mod X, based on AMX Mod by Aleksander Naszko ("OLO").
|
|
|
|
// Copyright (C) The AMX Mod X Development Team.
|
|
|
|
//
|
|
|
|
// This software is licensed under the GNU General Public License, version 3 or higher.
|
|
|
|
// Additional exceptions apply. For full license details, see LICENSE.txt or visit:
|
|
|
|
// https://alliedmods.net/amxmodx-license
|
|
|
|
|
|
|
|
//
|
|
|
|
// MySQL Module
|
|
|
|
//
|
|
|
|
|
2006-04-23 01:10:06 +00:00
|
|
|
#include "amxxmodule.h"
|
|
|
|
#include "mysql2_header.h"
|
2006-05-19 01:54:28 +00:00
|
|
|
#include "sqlheaders.h"
|
2006-04-23 01:10:06 +00:00
|
|
|
|
2006-06-04 07:42:46 +00:00
|
|
|
static int g_ident = 0;
|
2006-05-07 21:40:12 +00:00
|
|
|
|
2006-05-19 01:54:28 +00:00
|
|
|
SqlFunctions g_MysqlFuncs =
|
|
|
|
{
|
|
|
|
&g_Mysql,
|
|
|
|
SetMysqlAffinity,
|
|
|
|
NULL
|
|
|
|
};
|
|
|
|
|
|
|
|
int SetMysqlAffinity(AMX *amx)
|
|
|
|
{
|
|
|
|
MF_AmxReRegister(amx, g_BaseSqlNatives, -1);
|
|
|
|
MF_AmxReRegister(amx, g_ThreadSqlNatives, -1);
|
|
|
|
|
2006-06-03 23:13:22 +00:00
|
|
|
return 1;
|
2006-05-19 01:54:28 +00:00
|
|
|
}
|
|
|
|
|
2006-04-23 01:10:06 +00:00
|
|
|
void OnAmxxAttach()
|
|
|
|
{
|
|
|
|
MF_AddNatives(g_BaseSqlNatives);
|
|
|
|
MF_AddNatives(g_ThreadSqlNatives);
|
2006-05-19 01:54:28 +00:00
|
|
|
g_MysqlFuncs.prev = (SqlFunctions *)MF_RegisterFunctionEx(&g_MysqlFuncs, SQL_DRIVER_FUNC);
|
2006-06-03 23:13:22 +00:00
|
|
|
if (!MF_RequestFunction("GetDbDriver")
|
2006-06-04 19:26:43 +00:00
|
|
|
&& !MF_FindLibrary("SQLITE", LibType_Library))
|
2006-04-24 10:27:25 +00:00
|
|
|
{
|
|
|
|
MF_AddNatives(g_OldCompatNatives);
|
2006-05-07 21:40:12 +00:00
|
|
|
MF_AddLibraries("dbi", LibType_Class, &g_ident);
|
2006-04-24 10:27:25 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2006-05-07 21:40:12 +00:00
|
|
|
void OnAmxxDetach()
|
|
|
|
{
|
|
|
|
ShutdownThreading();
|
|
|
|
MF_RemoveLibraries(&g_ident);
|
|
|
|
}
|
|
|
|
|
|
|
|
void OnPluginsUnloaded()
|
2006-04-24 10:27:25 +00:00
|
|
|
{
|
|
|
|
FreeAllHandles(Handle_OldResult);
|
|
|
|
FreeAllHandles(Handle_OldDb);
|
|
|
|
FreeAllHandles(Handle_Connection);
|
2006-04-23 01:10:06 +00:00
|
|
|
}
|
2006-04-24 15:14:34 +00:00
|
|
|
|
2006-08-28 21:03:27 +00:00
|
|
|
extern "C" void __cxa_pure_virtual(void)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|