Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
WardenCheckMgr.h
Go to the documentation of this file.
1
/*
2
* This file is part of Project SkyFire https://www.projectskyfire.org.
3
* See LICENSE.md file for Copyright information
4
*/
5
6
#ifndef SF_WARDENCHECKMGR_H
7
#define SF_WARDENCHECKMGR_H
8
9
#include "
Cryptography/BigNumber.h
"
10
#include "
Platform/Singleton.h
"
11
#include <map>
12
13
enum
WardenActions
14
{
15
WARDEN_ACTION_LOG
,
16
WARDEN_ACTION_KICK
,
17
WARDEN_ACTION_BAN
18
};
19
20
struct
WardenCheck
21
{
22
uint8
Type
;
23
BigNumber
Data
;
24
uint32
Address
;
// PROC_CHECK, MEM_CHECK, PAGE_CHECK
25
uint8
Length
;
// PROC_CHECK, MEM_CHECK, PAGE_CHECK
26
std::string
Str
;
// LUA, MPQ, DRIVER
27
std::string
Comment
;
28
uint16
CheckId
;
29
enum
WardenActions
Action
;
30
};
31
32
struct
WardenCheckResult
33
{
34
BigNumber
Result
;
// MEM_CHECK
35
};
36
37
class
WardenCheckMgr
38
{
39
friend
class
Skyfire::Singleton
<
WardenCheckMgr
,
Skyfire
::NullMutex>;
40
WardenCheckMgr
();
41
~
WardenCheckMgr
();
42
43
public
:
44
// We have a linear key without any gaps, so we use vector for fast access
45
typedef std::vector<WardenCheck*>
CheckContainer
;
46
typedef std::map<uint32, WardenCheckResult*>
CheckResultContainer
;
47
48
WardenCheck
*
GetWardenDataById
(uint16 Id);
49
WardenCheckResult
*
GetWardenResultById
(uint16 Id);
50
51
std::vector<uint16>
MemChecksIdPool
;
52
std::vector<uint16>
OtherChecksIdPool
;
53
54
void
LoadWardenChecks
();
55
void
LoadWardenOverrides
();
56
57
Skyfire::SharedMutex
_checkStoreLock
;
58
59
private
:
60
CheckContainer
CheckStore
;
61
CheckResultContainer
CheckResultStore
;
62
};
63
64
#define sWardenCheckMgr Skyfire::Singleton<WardenCheckMgr, Skyfire::NullMutex>::instance()
65
66
#endif
BigNumber.h
uint8
std::uint8_t uint8
Definition
Define.h:79
uint32
std::uint32_t uint32
Definition
Define.h:77
uint16
std::uint16_t uint16
Definition
Define.h:78
Singleton.h
WardenActions
WardenActions
Definition
WardenCheckMgr.h:14
WARDEN_ACTION_KICK
@ WARDEN_ACTION_KICK
Definition
WardenCheckMgr.h:16
WARDEN_ACTION_BAN
@ WARDEN_ACTION_BAN
Definition
WardenCheckMgr.h:17
WARDEN_ACTION_LOG
@ WARDEN_ACTION_LOG
Definition
WardenCheckMgr.h:15
BigNumber
Definition
BigNumber.h:19
Skyfire::Singleton
Definition
Singleton.h:15
WardenCheckMgr::LoadWardenOverrides
void LoadWardenOverrides()
Definition
WardenCheckMgr.cpp:112
WardenCheckMgr::CheckStore
CheckContainer CheckStore
Definition
WardenCheckMgr.h:60
WardenCheckMgr::CheckContainer
std::vector< WardenCheck * > CheckContainer
Definition
WardenCheckMgr.h:45
WardenCheckMgr::_checkStoreLock
Skyfire::SharedMutex _checkStoreLock
Definition
WardenCheckMgr.h:57
WardenCheckMgr::OtherChecksIdPool
std::vector< uint16 > OtherChecksIdPool
Definition
WardenCheckMgr.h:52
WardenCheckMgr::WardenCheckMgr
WardenCheckMgr()
Definition
WardenCheckMgr.cpp:16
WardenCheckMgr::GetWardenResultById
WardenCheckResult * GetWardenResultById(uint16 Id)
Definition
WardenCheckMgr.cpp:165
WardenCheckMgr::MemChecksIdPool
std::vector< uint16 > MemChecksIdPool
Definition
WardenCheckMgr.h:51
WardenCheckMgr::GetWardenDataById
WardenCheck * GetWardenDataById(uint16 Id)
Definition
WardenCheckMgr.cpp:157
WardenCheckMgr::CheckResultStore
CheckResultContainer CheckResultStore
Definition
WardenCheckMgr.h:61
WardenCheckMgr::LoadWardenChecks
void LoadWardenChecks()
Definition
WardenCheckMgr.cpp:27
WardenCheckMgr::CheckResultContainer
std::map< uint32, WardenCheckResult * > CheckResultContainer
Definition
WardenCheckMgr.h:46
Skyfire
Definition
AuthPatchTransfer.h:12
Skyfire::SharedMutex
std::shared_mutex SharedMutex
Definition
Threading.h:15
WardenCheck
Definition
WardenCheckMgr.h:21
WardenCheck::Str
std::string Str
Definition
WardenCheckMgr.h:26
WardenCheck::CheckId
uint16 CheckId
Definition
WardenCheckMgr.h:28
WardenCheck::Comment
std::string Comment
Definition
WardenCheckMgr.h:27
WardenCheck::Action
enum WardenActions Action
Definition
WardenCheckMgr.h:29
WardenCheck::Data
BigNumber Data
Definition
WardenCheckMgr.h:23
WardenCheck::Address
uint32 Address
Definition
WardenCheckMgr.h:24
WardenCheck::Length
uint8 Length
Definition
WardenCheckMgr.h:25
WardenCheck::Type
uint8 Type
Definition
WardenCheckMgr.h:22
WardenCheckResult
Definition
WardenCheckMgr.h:33
WardenCheckResult::Result
BigNumber Result
Definition
WardenCheckMgr.h:34
src
server
game
Warden
WardenCheckMgr.h
Generated on
for Project SkyFire Core by
1.17.0