Основной класс для работы с 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.