aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/bnetserver/Main.cpp6
-rw-r--r--src/server/bnetserver/Server/SslContext.cpp4
-rw-r--r--src/server/worldserver/Main.cpp37
-rw-r--r--src/server/worldserver/TCSoap/TCSoap.cpp2
4 files changed, 24 insertions, 25 deletions
diff --git a/src/server/bnetserver/Main.cpp b/src/server/bnetserver/Main.cpp
index 16b241e46b6..97fccdeb871 100644
--- a/src/server/bnetserver/Main.cpp
+++ b/src/server/bnetserver/Main.cpp
@@ -217,7 +217,7 @@ int main(int argc, char** argv)
return 1;
}
- auto sLoginServiceHandle = Trinity::make_unique_ptr_with_deleter(&dummy, [](void*) { sLoginService.StopNetwork(); });
+ auto sLoginServiceHandle = Trinity::make_unique_ptr_with_deleter(&sLoginService, [](Battlenet::LoginRESTService* service) { service->StopNetwork(); });
// Start the listening port (acceptor) for auth connections
int32 bnport = sConfigMgr->GetIntDefault("BattlenetPort", 1119);
@@ -230,7 +230,7 @@ int main(int argc, char** argv)
// Get the list of realms for the server
sRealmList->Initialize(*ioContext, sConfigMgr->GetIntDefault("RealmsStateUpdateDelay", 10));
- auto sRealmListHandle = Trinity::make_unique_ptr_with_deleter(&dummy, [](void*) { sRealmList->Close(); });
+ auto sRealmListHandle = Trinity::make_unique_ptr_with_deleter(sRealmList, [](RealmList* realmList) { realmList->Close(); });
std::string bindIp = sConfigMgr->GetStringDefault("BindIP", "0.0.0.0");
@@ -240,7 +240,7 @@ int main(int argc, char** argv)
return 1;
}
- auto sSessionMgrHandle = Trinity::make_unique_ptr_with_deleter(&dummy, [](void*) { sSessionMgr.StopNetwork(); });
+ auto sSessionMgrHandle = Trinity::make_unique_ptr_with_deleter(&sSessionMgr, [](Battlenet::SessionManager* sessMgr) { sessMgr->StopNetwork(); });
// Set signal handlers
boost::asio::signal_set signals(*ioContext, SIGINT, SIGTERM);
diff --git a/src/server/bnetserver/Server/SslContext.cpp b/src/server/bnetserver/Server/SslContext.cpp
index 3fd5a1bfbf8..c59e897ffbd 100644
--- a/src/server/bnetserver/Server/SslContext.cpp
+++ b/src/server/bnetserver/Server/SslContext.cpp
@@ -30,7 +30,7 @@ namespace
{
auto CreatePasswordUiMethodFromPemCallback(::pem_password_cb* callback)
{
- return Trinity::make_unique_ptr_with_deleter(UI_UTIL_wrap_read_pem_callback(callback, 0), ::UI_destroy_method);
+ return Trinity::make_unique_ptr_with_deleter(UI_UTIL_wrap_read_pem_callback(callback, 0), &::UI_destroy_method);
}
auto OpenOpenSSLStore(boost::filesystem::path const& storePath, UI_METHOD const* passwordCallback, void* passwordCallbackData)
@@ -45,7 +45,7 @@ auto OpenOpenSSLStore(boost::filesystem::path const& storePath, UI_METHOD const*
uri += genericPath;
- return Trinity::make_unique_ptr_with_deleter(OSSL_STORE_open(uri.c_str(), passwordCallback, passwordCallbackData, nullptr, nullptr), ::OSSL_STORE_close);
+ return Trinity::make_unique_ptr_with_deleter(OSSL_STORE_open(uri.c_str(), passwordCallback, passwordCallbackData, nullptr, nullptr), &::OSSL_STORE_close);
}
boost::system::error_code GetLastOpenSSLError()
diff --git a/src/server/worldserver/Main.cpp b/src/server/worldserver/Main.cpp
index f8eba01c60c..74cd544965e 100644
--- a/src/server/worldserver/Main.cpp
+++ b/src/server/worldserver/Main.cpp
@@ -309,7 +309,7 @@ extern int main(int argc, char** argv)
sRealmList->Initialize(*ioContext, sConfigMgr->GetIntDefault("RealmsStateUpdateDelay", 10));
- auto sRealmListHandle = Trinity::make_unique_ptr_with_deleter(&dummy, [](void*) { sRealmList->Close(); });
+ auto sRealmListHandle = Trinity::make_unique_ptr_with_deleter(sRealmList, [](RealmList* realmList) { realmList->Close(); });
LoadRealmInfo();
@@ -323,34 +323,33 @@ extern int main(int argc, char** argv)
TC_METRIC_EVENT("events", "Worldserver started", "");
- auto sMetricHandle = Trinity::make_unique_ptr_with_deleter(&dummy, [](void*)
+ auto sMetricHandle = Trinity::make_unique_ptr_with_deleter(sMetric, [](Metric* metric)
{
TC_METRIC_EVENT("events", "Worldserver shutdown", "");
- sMetric->Unload();
+ metric->Unload();
});
+ auto scriptReloadMgrHandle = Trinity::make_unique_ptr_with_deleter(sScriptReloadMgr, [](ScriptReloadMgr* mgr) { mgr->Unload(); });
+
sScriptMgr->SetScriptLoader(AddScripts);
- auto sScriptMgrHandle = Trinity::make_unique_ptr_with_deleter(&dummy, [](void*)
- {
- sScriptMgr->Unload();
- sScriptReloadMgr->Unload();
- });
+ auto sScriptMgrHandle = Trinity::make_unique_ptr_with_deleter(sScriptMgr, [](ScriptMgr* mgr) { mgr->Unload(); });
// Initialize the World
sSecretMgr->Initialize(SECRET_OWNER_WORLDSERVER);
if (!sWorld->SetInitialWorldSettings())
return 1;
- auto mapManagementHandle = Trinity::make_unique_ptr_with_deleter(&dummy, [](void*)
- {
- // unload battleground templates before different singletons destroyed
- sBattlegroundMgr->DeleteAllBattlegrounds();
+ auto instanceLockMgrHandle = Trinity::make_unique_ptr_with_deleter(&sInstanceLockMgr, [](InstanceLockMgr* mgr) { mgr->Unload(); });
- sMapMgr->UnloadAll(); // unload all grids (including locked in memory)
- sOutdoorPvPMgr->Die();
- sTerrainMgr.UnloadAll();
- sInstanceLockMgr.Unload();
- });
+ auto terrainMgrHandle = Trinity::make_unique_ptr_with_deleter(&sTerrainMgr, [](TerrainMgr* mgr) { mgr->UnloadAll(); });
+
+ auto outdoorPvpMgrHandle = Trinity::make_unique_ptr_with_deleter(sOutdoorPvPMgr, [](OutdoorPvPMgr* mgr) { mgr->Die(); });
+
+ // unload all grids (including locked in memory)
+ auto mapManagementHandle = Trinity::make_unique_ptr_with_deleter(sMapMgr, [](MapManager* mgr) { mgr->UnloadAll(); });
+
+ // unload battleground templates before different singletons destroyed
+ auto battlegroundMgrHandle = Trinity::make_unique_ptr_with_deleter(sBattlegroundMgr, [](BattlegroundMgr* mgr) { mgr->DeleteAllBattlegrounds(); });
// Start the Remote Access port (acceptor) if enabled
std::unique_ptr<AsyncAcceptor> raAcceptor;
@@ -388,12 +387,12 @@ extern int main(int argc, char** argv)
return 1;
}
- auto sWorldSocketMgrHandle = Trinity::make_unique_ptr_with_deleter(&dummy, [](void*)
+ auto sWorldSocketMgrHandle = Trinity::make_unique_ptr_with_deleter(&sWorldSocketMgr, [](WorldSocketMgr* mgr)
{
sWorld->KickAll(); // save and kick all players
sWorld->UpdateSessions(1); // real players unload required UpdateSessions call
- sWorldSocketMgr.StopNetwork();
+ mgr->StopNetwork();
///- Clean database before leaving
ClearOnlineAccounts();
diff --git a/src/server/worldserver/TCSoap/TCSoap.cpp b/src/server/worldserver/TCSoap/TCSoap.cpp
index b367f502c90..71b299ca786 100644
--- a/src/server/worldserver/TCSoap/TCSoap.cpp
+++ b/src/server/worldserver/TCSoap/TCSoap.cpp
@@ -27,7 +27,7 @@
std::thread* CreateSoapThread(const std::string& host, uint16 port)
{
- auto soap = Trinity::make_unique_ptr_with_deleter<struct soap*>(new struct soap(), [](struct soap* soap)
+ auto soap = Trinity::make_unique_ptr_with_deleter(new struct soap(), [](struct soap* soap)
{
soap_destroy(soap);
soap_end(soap);