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)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|