49 lines
944 B
C++
49 lines
944 B
C++
#include "amxxmodule.h"
|
|
#include "mysql2_header.h"
|
|
#include "sqlheaders.h"
|
|
|
|
static int g_ident = 0;
|
|
|
|
SqlFunctions g_MysqlFuncs =
|
|
{
|
|
&g_Mysql,
|
|
SetMysqlAffinity,
|
|
NULL
|
|
};
|
|
|
|
int SetMysqlAffinity(AMX *amx)
|
|
{
|
|
MF_AmxReRegister(amx, g_BaseSqlNatives, -1);
|
|
MF_AmxReRegister(amx, g_ThreadSqlNatives, -1);
|
|
|
|
return 1;
|
|
}
|
|
|
|
void OnAmxxAttach()
|
|
{
|
|
MF_AddNatives(g_BaseSqlNatives);
|
|
MF_AddNatives(g_ThreadSqlNatives);
|
|
g_MysqlFuncs.prev = (SqlFunctions *)MF_RegisterFunctionEx(&g_MysqlFuncs, SQL_DRIVER_FUNC);
|
|
if (!MF_RequestFunction("GetDbDriver")
|
|
&& !MF_FindLibrary("SQLITE", LibType_Library)
|
|
&& !MF_FindLibrary("sqlitex", LibType_Library))
|
|
{
|
|
MF_AddNatives(g_OldCompatNatives);
|
|
MF_AddLibraries("dbi", LibType_Class, &g_ident);
|
|
}
|
|
}
|
|
|
|
void OnAmxxDetach()
|
|
{
|
|
ShutdownThreading();
|
|
MF_RemoveLibraries(&g_ident);
|
|
}
|
|
|
|
void OnPluginsUnloaded()
|
|
{
|
|
FreeAllHandles(Handle_OldResult);
|
|
FreeAllHandles(Handle_OldDb);
|
|
FreeAllHandles(Handle_Connection);
|
|
}
|
|
|