gauthd
 
Loading...
Searching...
No Matches
D:/pwsrc2.0/docs/gauthd/queryuserprivilege.hpp
Go to the documentation of this file.
1
11
12 #ifndef __GNET_QUERYUSERPRIVILEGE_HPP
13 #define __GNET_QUERYUSERPRIVILEGE_HPP
14
15 #include "rpcdefs.h"
16 #include "callid.hxx"
17 #include "state.hxx"
18 #include "gmysqlclient.hpp"
20
21 namespace GNET
22 {
30 class QueryUserPrivilege : public GNET::Protocol
31 {
32 #include "queryuserprivilege" // Включаем определение полей протокола
33
34 public:
47 void Process(Manager *manager, Manager::Session::ID sid)
48 {
50 int count = 0;
51 unsigned char gm_auth[256];
52 memset(gm_auth, 0x00, sizeof(gm_auth));
53
54 // Выполняем запрос к базе данных
55 db->QueryGMPrivilege(userid, db->GetZoneid(), gm_auth, count);
56
57 // Формируем ответный пакет
59 qup_re.userid = userid;
60
61 // Копируем привилегии в ответ (не более 256 элементов)
62 for(int i = 0; i < count && i < 256; ++i)
63 {
64 qup_re.auth.add(gm_auth[i]);
65 }
66
67 // Отправляем ответ клиенту
68 manager->Send(sid, qup_re);
69 }
70 };
71
72 } // namespace GNET
73
74 #endif // __GNET_QUERYUSERPRIVILEGE_HPP
Основной класс для работы с MySQL базой данных
static GMysqlClient * GetInstance()
Получить экземпляр класса (Singleton)
char GetZoneid()
Получить ID зоны
bool QueryGMPrivilege(int uid, char zoneid, unsigned char *gm_auth, int &count)
Получение списка GM-привилегий пользователя
Класс-ответ для запроса информации о привилегиях пользователя
Протокол для запроса и обработки привилегий пользователя
void Process(Manager *manager, Manager::Session::ID sid)
Обрабатывает запрос привилегий пользователя
MySQL клиент для работы с базой данных игрового сервера
Основное пространство имен для сетевых компонентов системы.
Заголовочный файл класса ответа для запроса привилегий пользователя