-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBATSQL.h
89 lines (68 loc) · 2.04 KB
/
BATSQL.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/* ======== Basic Admin tool ========
* Copyright (C) 2004-2007 Erling K. Sæterdal
* No warranties of any kind
*
* License: zlib/libpng
*
* Author(s): Erling K. Sæterdal ( EKS )
* Credits:
* Menu code based on code from CSDM ( http://www.tcwonline.org/~dvander/cssdm ) Created by BAILOPAN
* Helping on misc errors/functions: BAILOPAN,karma,LDuke,sslice,devicenull,PMOnoTo,cybermind ( most who idle in #sourcemod on GameSurge realy )
* ============================ */
#ifndef _INCLUDE_BATSQL
#define _INCLUDE_BATSQL
#ifdef WIN32
#include <WinSock2.h>
#endif
#include <mysql.h>
//#define LinuxThreading
#ifdef LinuxThreading
/********************/
/* Linux Threading */
/********************/
#define ThreadReturnType void *
#define ThreadParm void * Garbage
#define ThreadReturn \
pthread_exit((void *)NULL); \
return 0;
#define TSleep usleep
#define ThreadKill pthread_cancel(g_pSQLThread);
#else
/*********************/
/* Windows Threading */
/*********************/
#define ThreadReturnType DWORD WINAPI
//#define ThreadParm LPARAM
#define ThreadParm
#define TSleep Sleep
#define ThreadReturn \
DWORD FalseReturn = NULL; \
return FalseReturn;
#define SQL_DEBUG 1
#define ThreadKill TerminateThread(g_ThreadHandle,0);
#endif
#if SQL_DEBUG == 1
#define SqlDebugPrint(NewLogMsg, ...) \
g_BATCore.GetMsgBuffer()->AddMsgToBuffer(NewLogMsg);
#else
#define SqlDebugPrint(NewLogMsg, ...)
#endif \
class BATSQL
{
public:
void KillActiveThread();
void ResumeSqlThread();
void StartSQLThread();
void BufferLogInformation(const char * NewLogInfo);
void ExitSQLThread();
static bool CheckIDAgainstSQL(int pIndex);
static bool MoveLogInfo();
static bool MakeLocalUsersFile();
static void ShutdownSQL(); // Called when critical errors happen, and stops using SQL
static bool GetServerIDSourceBans();
private:
static bool AmxBansCheckServerExists(MYSQL *sock);
static int GetSourceBansModIndex(MYSQL *sock);
};
ThreadReturnType SqlThreadWaitLoop();
#endif // end _INCLUDE_BATSQL