From 3a4ec8bcbee91e2ad03d4f9e421f45df14b1acac Mon Sep 17 00:00:00 2001 From: Naios Date: Fri, 11 Mar 2016 19:27:22 +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. (cherry picked from commit a8fe7f6eb7195368bbb4d0256927405f5e5c6f87) --- src/server/database/Database/DatabaseEnv.cpp | 22 ++++++++++++++++++++++ src/server/database/Database/DatabaseEnv.h | 4 +++- src/server/database/Database/DatabaseLoader.h | 2 +- 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 src/server/database/Database/DatabaseEnv.cpp (limited to 'src/server/database') diff --git a/src/server/database/Database/DatabaseEnv.cpp b/src/server/database/Database/DatabaseEnv.cpp new file mode 100644 index 00000000000..3b2e632e4fb --- /dev/null +++ b/src/server/database/Database/DatabaseEnv.cpp @@ -0,0 +1,22 @@ +/* + * 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; diff --git a/src/server/database/Database/DatabaseEnv.h b/src/server/database/Database/DatabaseEnv.h index cc8355a1302..c9a7672ac57 100644 --- a/src/server/database/Database/DatabaseEnv.h +++ b/src/server/database/Database/DatabaseEnv.h @@ -38,9 +38,11 @@ #include "Implementation/CharacterDatabase.h" #include "Implementation/WorldDatabase.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; #endif - diff --git a/src/server/database/Database/DatabaseLoader.h b/src/server/database/Database/DatabaseLoader.h index ec390a427ad..d3812eb060d 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