Основной класс для работы с MySQL базой данных More...
#include <gmysqlclient.hpp>
Public Member Functions | |
void | Init (const char *ip, const int port, const char *user, const char *passwd, const char *db, const int h) |
Инициализация параметров подключения | |
void | AlexPatch (const bool lkmod, const bool log, const char *shell) |
Дополнительные настройки | |
bool | Connect () |
Установить соединение с БД | |
void | Disconnect () |
Разорвать соединение с БД | |
bool | IsActive () |
Проверить активность соединения | |
char | GetAid () |
Получить ID приложения | |
char | GetZoneid () |
Получить ID зоны | |
bool | MysqlQuery (char *ptr, size_t len) |
Выполнить SQL запрос | |
bool | DeleteErrorRow (int status, int uid, char *creatime) |
Удаление ошибочных записей из таблицы usecashnow. | |
bool | MatrixPasswd (int &uid, char *login, char *passwd, int ipaddr) |
Проверка учетных данных пользователя. | |
bool | ClearOnlineRecord (char zoneid, char aid) |
Очистка онлайн-записей для указанной зоны и аккаунта | |
bool | OnlineRecord (int uid, char aid, char &zoneid, int &zonelocalid, int &overwrite) |
Запись информации о входе пользователя в онлайн | |
bool | OnfflineRecord (int uid, char aid, char &zoneid, int &zonelocalid, int &overwrite) |
Запись информации о выходе пользователя из онлайн | |
bool | UserCreatime (int uid, int ×tamp) |
Получение времени создания пользователя в UNIX-формате | |
bool | UserGMPrivilege (int uid, char zoneid, bool &IsGM) |
Получение времени создания пользователя в UNIX-формате | |
bool | QueryGMPrivilege (int uid, char zoneid, unsigned char *gm_auth, int &count) |
Получение списка GM-привилегий пользователя | |
bool | GetUseCashNow (int status, int &count) |
Получение записей usecashnow по статусу | |
bool | SetUseCashNow (int status, int sn, int userid, char *creatime) |
Обновление статуса записи в usecashnow. | |
bool | DelUseCashNow (int status, int uid, int sn) |
Удаление записи из usecashnow. | |
bool | AddCashLog (int uid, int zoneid, int sn, int aid, int point, int cash, int status, char *creatime) |
Добавление записи в лог операций с наличностью | |
bool | AlexAddLogin (int uid, int action) |
Логирование действия входа/выхода (специальный функционал) | |
bool | AlexShell (int uid) |
Выполнение shell-команды при выходе пользователя | |
int | GetUser (int userid) |
Найти пользователя по ID. | |
int | DelUser (int userid) |
Удалить пользователя из онлайн-списка | |
int | AddUser (int userid, int zoneid, char *login, int ipaddr) |
Добавить пользователя в онлайн-список | |
ONLINE_USER * | GetUserData (int userid) |
Получить данные пользователя | |
int | ClearCash () |
int | GetCashSize () |
void | DelCashUser (int idx) |
void | AddCashUser (int userid, int zoneid, int sn, int point, int cash, char *creatime) |
int | GetCashUser (int userid) |
void | GetAllCashUser (int idx, int &userid, int &zoneid) |
char * | GetCashCreaTime (int idx) |
int | GetCashCash (int idx) |
int | GetCashPoint (int idx) |
void | ClearAntibrutUser () |
int | SizeAntibrutUser () |
int | GetAntibrutUser (int ip) |
int | DelAntibrutUser (int ip) |
int | AddAntibrutUser (int ip) |
int | ATOI (const char *ptr) |
void | Auth0xMD5 (char *out, char *in) |
void | AuthBase64 (char *passwd, char *auth) |
bool | AuthPasswd (char *passwd, char *auth) |
Преобразование аутентификационных данных | |
bool | ValidLogin (char *login, int size) |
Проверка валидности логина | |
void | AddrToStr (unsigned int ip, char *address) |
Преобразование IP адреса в строку | |
Static Public Member Functions | |
static GMysqlClient * | GetInstance () |
Получить экземпляр класса (Singleton) | |
Static Public Attributes | |
static GMysqlClient * | instance = NULL |
Единственный экземпляр класса | |
Основной класс для работы с MySQL базой данных
Definition at line 26 of file gmysqlclient.hpp.
|
inline |
Definition at line 374 of file gmysqlclient.hpp.
bool GMysqlClient::AddCashLog | ( | int | uid, |
int | zoneid, | ||
int | sn, | ||
int | aid, | ||
int | point, | ||
int | cash, | ||
int | status, | ||
char * | creatime ) |
Добавление записи в лог операций с наличностью
[in] | uid | Идентификатор пользователя |
[in] | zoneid | Идентификатор зоны |
[in] | sn | Серийный номер операции |
[in] | aid | Идентификатор аккаунта |
[in] | point | Количество баллов |
[in] | cash | Сумма денег |
[in] | status | Статус операции |
[in] | creatime | Время создания записи |
Definition at line 451 of file gmysqlclient.cpp.
|
inline |
|
inline |
Преобразование IP адреса в строку
ip | Адрес в сетевом порядке байт |
address | Буфер для результата (минимум 16 байт) |
Definition at line 467 of file gmysqlclient.hpp.
|
inline |
Добавить пользователя в онлайн-список
userid | ID пользователя |
zoneid | ID зоны |
login | Логин |
ipaddr | IP адрес |
Definition at line 229 of file gmysqlclient.hpp.
bool GMysqlClient::AlexAddLogin | ( | int | uid, |
int | action ) |
Логирование действия входа/выхода (специальный функционал)
[in] | uid | Идентификатор пользователя |
[in] | action | Тип действия (1 - вход, 0 - выход) |
Definition at line 467 of file gmysqlclient.cpp.
void GMysqlClient::AlexPatch | ( | const bool | lkmod, |
const bool | log, | ||
const char * | shell ) |
Дополнительные настройки
Активация специального режима работы (патч Алекса).
lkmod | Режим блокировки | |
log | Флаг логирования | |
shell | Команда для выполнения при выходе | |
[in] | lkmod | Флаг активации модификации |
[in] | log | Флаг логирования входа |
[in] | shell | Шаблон команды для выполнения при выходе |
Definition at line 77 of file gmysqlclient.cpp.
bool GMysqlClient::AlexShell | ( | int | uid | ) |
Выполнение shell-команды при выходе пользователя
[in] | uid | Идентификатор пользователя |
Definition at line 489 of file gmysqlclient.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
Преобразование аутентификационных данных
passwd | Выходной буфер для пароля (16 байт) |
auth | Входные аутентификационные данные |
Definition at line 425 of file gmysqlclient.hpp.
|
inline |
Definition at line 338 of file gmysqlclient.hpp.
|
inline |
bool GMysqlClient::ClearOnlineRecord | ( | char | zoneid, |
char | aid ) |
Очистка онлайн-записей для указанной зоны и аккаунта
[in] | zoneid | Идентификатор зоны |
[in] | aid | Идентификатор аккаунта |
Definition at line 197 of file gmysqlclient.cpp.
bool GMysqlClient::Connect | ( | ) |
Установить соединение с БД
Установка соединения с базой данных.
Definition at line 92 of file gmysqlclient.cpp.
|
inline |
|
inline |
bool GMysqlClient::DeleteErrorRow | ( | int | status, |
int | uid, | ||
char * | creatime ) |
Удаление ошибочных записей из таблицы usecashnow.
[in] | status | Статус записи для удаления |
[in] | uid | Идентификатор пользователя |
[in] | creatime | Время создания записи |
Definition at line 362 of file gmysqlclient.cpp.
bool GMysqlClient::DelUseCashNow | ( | int | status, |
int | uid, | ||
int | sn ) |
Удаление записи из usecashnow.
[in] | status | Статус записи |
[in] | uid | Идентификатор пользователя |
[in] | sn | Серийный номер операции |
Definition at line 429 of file gmysqlclient.cpp.
|
inline |
Удалить пользователя из онлайн-списка
userid | ID пользователя |
Definition at line 211 of file gmysqlclient.hpp.
void GMysqlClient::Disconnect | ( | ) |
Разорвать соединение с БД
Разрыв соединения с базой данных.
Definition at line 119 of file gmysqlclient.cpp.
|
inline |
Получить ID приложения
Definition at line 164 of file gmysqlclient.hpp.
|
inline |
Definition at line 296 of file gmysqlclient.hpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 259 of file gmysqlclient.hpp.
|
inline |
|
inlinestatic |
Получить экземпляр класса (Singleton)
Definition at line 481 of file gmysqlclient.hpp.
bool GMysqlClient::GetUseCashNow | ( | int | status, |
int & | count ) |
Получение записей usecashnow по статусу
[in] | status | Статус для фильтрации |
[out] | count | Количество найденных записей |
Definition at line 378 of file gmysqlclient.cpp.
|
inline |
Найти пользователя по ID.
userid | ID пользователя |
Definition at line 196 of file gmysqlclient.hpp.
|
inline |
Получить данные пользователя
userid | ID пользователя |
Definition at line 243 of file gmysqlclient.hpp.
|
inline |
Получить ID зоны
Definition at line 165 of file gmysqlclient.hpp.
void GMysqlClient::Init | ( | const char * | ip, |
const int | port, | ||
const char * | user, | ||
const char * | passwd, | ||
const char * | db, | ||
const int | h ) |
Инициализация параметров подключения
Инициализация параметров подключения к базе данных.
ip | IP адрес сервера БД | |
port | Порт сервера БД | |
user | Имя пользователя | |
passwd | Пароль | |
db | Имя базы данных | |
h | Тип хеширования (1-binary, 2-0xMD5, 3-base64) | |
[in] | ip | IP-адрес сервера MySQL (макс. 19 символов) |
[in] | port | Порт сервера MySQL |
[in] | user | Имя пользователя БД (макс. 127 символов) |
[in] | passwd | Пароль пользователя БД (макс. 127 символов) |
[in] | db | Название базы данных (макс. 127 символов) |
[in] | h | Хэш-идентификатор (дополнительный параметр) |
Definition at line 30 of file gmysqlclient.cpp.
|
inline |
Проверить активность соединения
Definition at line 163 of file gmysqlclient.hpp.
bool GMysqlClient::MatrixPasswd | ( | int & | uid, |
char * | login, | ||
char * | passwd, | ||
int | ipaddr ) |
Проверка учетных данных пользователя.
[out] | uid | Идентификатор пользователя (при успешной проверке) |
[in] | login | Логин пользователя |
[in] | passwd | Пароль пользователя (открытый текст) |
[in] | ipaddr | IP-адрес клиента (сетевой порядок) |
Использует хранимую процедуру acquireuserpasswd.
Definition at line 163 of file gmysqlclient.cpp.
bool GMysqlClient::MysqlQuery | ( | char * | ptr, |
size_t | len ) |
Выполнить SQL запрос
Выполнение SQL-запроса.
ptr | Текст запроса |
len | Длина запроса |
[in] | ptr | Указатель на буфер с запросом |
[in] | len | Длина запроса (макс. 1024 байта) |
Definition at line 136 of file gmysqlclient.cpp.
bool GMysqlClient::OnfflineRecord | ( | int | uid, |
char | aid, | ||
char & | zoneid, | ||
int & | zonelocalid, | ||
int & | overwrite ) |
Запись информации о выходе пользователя из онлайн
[in] | uid | Идентификатор пользователя |
[in] | aid | Идентификатор аккаунта |
[in,out] | zoneid | Идентификатор зоны (входное и выходное значение) |
[in,out] | zonelocalid | Локальный ID в зоне (входное и выходное значение) |
[out] | overwrite | Флаг перезаписи (0 - нет перезаписи, 1 - перезапись) |
Definition at line 254 of file gmysqlclient.cpp.
bool GMysqlClient::OnlineRecord | ( | int | uid, |
char | aid, | ||
char & | zoneid, | ||
int & | zonelocalid, | ||
int & | overwrite ) |
Запись информации о входе пользователя в онлайн
[in] | uid | Идентификатор пользователя |
[in] | aid | Идентификатор аккаунта |
[in,out] | zoneid | Идентификатор зоны (входное и выходное значение) |
[in,out] | zonelocalid | Локальный ID в зоне (входное и выходное значение) |
[out] | overwrite | Флаг перезаписи (0 - нет перезаписи, 1 - перезапись) |
Использует хранимые процедуры и временные переменные MySQL
Definition at line 219 of file gmysqlclient.cpp.
bool GMysqlClient::QueryGMPrivilege | ( | int | uid, |
char | zoneid, | ||
unsigned char * | gm_auth, | ||
int & | count ) |
Получение списка GM-привилегий пользователя
[in] | uid | Идентификатор пользователя |
[in] | zoneid | Идентификатор зоны |
[out] | gm_auth | Массив для хранения привилегий |
[out] | count | Количество найденных привилегий |
Definition at line 336 of file gmysqlclient.cpp.
bool GMysqlClient::SetUseCashNow | ( | int | status, |
int | sn, | ||
int | uid, | ||
char * | creatime ) |
Обновление статуса записи в usecashnow.
[in] | status | Новый статус записи |
[in] | sn | Серийный номер операции |
[in] | uid | Идентификатор пользователя |
[in] | creatime | Время создания записи |
Definition at line 405 of file gmysqlclient.cpp.
|
inline |
Definition at line 345 of file gmysqlclient.hpp.
bool GMysqlClient::UserCreatime | ( | int | uid, |
int & | timestamp ) |
Получение времени создания пользователя в UNIX-формате
[in] | uid | Идентификатор пользователя |
[out] | timestamp | Время создания пользователя |
Definition at line 286 of file gmysqlclient.cpp.
bool GMysqlClient::UserGMPrivilege | ( | int | uid, |
char | zoneid, | ||
bool & | IsGM ) |
Получение времени создания пользователя в UNIX-формате
[in] | uid | Идентификатор пользователя |
[out] | timestamp | Время создания пользователя |
Definition at line 311 of file gmysqlclient.cpp.
|
inline |
Проверка валидности логина
login | Логин для проверки |
size | Длина логина |
Definition at line 450 of file gmysqlclient.hpp.
|
static |
Единственный экземпляр класса
Статический указатель на единственный экземпляр класса (Singleton)
Definition at line 487 of file gmysqlclient.hpp.