From a8fe7f6eb7195368bbb4d0256927405f5e5c6f87 Mon Sep 17 00:00:00 2001 From: Naios Date: Fri, 11 Mar 2016 16:10:47 +0100 Subject: Core/Database: Move singleton instances into compilation units * Fixes issues when building shared libraries (prevents gcc and clang from providing several instance) * Also instantiate the database worker pools in DatabaseEnv.cpp now. --- src/server/database/Database/DatabaseEnv.cpp | 23 +++++++++++++++++++++++ src/server/database/Database/DatabaseEnv.h | 5 ++++- src/server/database/Database/DatabaseLoader.h | 2 +- 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 src/server/database/Database/DatabaseEnv.cpp (limited to 'src/server/database/Database') diff --git a/src/server/database/Database/DatabaseEnv.cpp b/src/server/database/Database/DatabaseEnv.cpp new file mode 100644 index 00000000000..693158b7c9e --- /dev/null +++ b/src/server/database/Database/DatabaseEnv.cpp @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2008-2016 TrinityCore + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include "DatabaseEnv.h" + +WorldDatabaseWorkerPool WorldDatabase; +CharacterDatabaseWorkerPool CharacterDatabase; +LoginDatabaseWorkerPool LoginDatabase; +HotfixDatabaseWorkerPool HotfixDatabase; diff --git a/src/server/database/Database/DatabaseEnv.h b/src/server/database/Database/DatabaseEnv.h index 27b2bce744b..743341caf60 100644 --- a/src/server/database/Database/DatabaseEnv.h +++ b/src/server/database/Database/DatabaseEnv.h @@ -39,10 +39,13 @@ #include "Implementation/WorldDatabase.h" #include "Implementation/HotfixDatabase.h" +/// Accessor to the world database extern WorldDatabaseWorkerPool WorldDatabase; +/// Accessor to the character database extern CharacterDatabaseWorkerPool CharacterDatabase; +/// Accessor to the realm/login database extern LoginDatabaseWorkerPool LoginDatabase; +/// Accessor to the hotfix database extern HotfixDatabaseWorkerPool HotfixDatabase; #endif - diff --git a/src/server/database/Database/DatabaseLoader.h b/src/server/database/Database/DatabaseLoader.h index 1b31d3691c4..e40745f8cc3 100644 --- a/src/server/database/Database/DatabaseLoader.h +++ b/src/server/database/Database/DatabaseLoader.h @@ -19,7 +19,7 @@ #define DatabaseLoader_h__ #include "DatabaseWorkerPool.h" -#include "DatabaseEnv.h" +#include "DBUpdater.h" #include #include -- cgit v1.2.3