aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2020-08-19 00:25:44 +0200
committerGitHub <noreply@github.com>2020-08-19 00:25:44 +0200
commitf04f4e91ff3afbf89f30659b85e8593c3206138e (patch)
tree8a51d515d866297d5cf88afd9d630eb50daae8f9 /src/server/game/Server
parent24a494398fec5ff5044d980915a47ab3457ddaca (diff)
Core/Warden: Add .debug warden force, allowing you to force specific warden checks to be sent
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/WorldSession.cpp6
-rw-r--r--src/server/game/Server/WorldSession.h5
2 files changed, 6 insertions, 5 deletions
diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp
index 64e909e8e7c..bded746ed5f 100644
--- a/src/server/game/Server/WorldSession.cpp
+++ b/src/server/game/Server/WorldSession.cpp
@@ -115,7 +115,6 @@ WorldSession::WorldSession(uint32 id, std::string&& name, std::shared_ptr<WorldS
_accountId(id),
_accountName(std::move(name)),
m_expansion(expansion),
- _warden(nullptr),
_logoutTime(0),
m_inQueue(false),
m_playerLoading(false),
@@ -164,7 +163,6 @@ WorldSession::~WorldSession()
m_Socket = nullptr;
}
- delete _warden;
delete _RBACData;
///- empty incoming packet queue
@@ -1215,13 +1213,13 @@ void WorldSession::InitWarden(SessionKey const& k, std::string const& os)
{
if (os == "Win")
{
- _warden = new WardenWin();
+ _warden = std::make_unique<WardenWin>();
_warden->Init(this, k);
}
else if (os == "OSX")
{
// Disabled as it is causing the client to crash
- // _warden = new WardenMac();
+ // _warden = std::make_unique<WardenMac>();
// _warden->Init(this, k);
}
}
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index 9c132c39e0d..3553c549c68 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -32,6 +32,7 @@
#include "SharedDefines.h"
#include <string>
#include <map>
+#include <memory>
#include <unordered_map>
#include <boost/circular_buffer.hpp>
@@ -429,6 +430,8 @@ class TC_GAME_API WorldSession
uint8 Expansion() const { return m_expansion; }
void InitWarden(SessionKey const& k, std::string const& os);
+ Warden* GetWarden() { return _warden.get(); }
+ Warden const* GetWarden() const { return _warden.get(); }
/// Session in auth.queue currently
void SetInQueue(bool state) { m_inQueue = state; }
@@ -1167,7 +1170,7 @@ class TC_GAME_API WorldSession
uint8 m_expansion;
// Warden
- Warden* _warden; // Remains NULL if Warden system is not enabled by config
+ std::unique_ptr<Warden> _warden; // Remains NULL if Warden system is not enabled by config
time_t _logoutTime;
bool m_inQueue; // session wait in auth.queue