diff options
author | Meji <alvaro.megias@outlook.com> | 2024-01-16 20:04:54 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-16 20:04:54 +0100 |
commit | 39621fa41c96f66698055447c7a9134865e0f00b (patch) | |
tree | c3953806ed88e32f6f508e78770030f1ce134936 | |
parent | ea093fef2787121549f864b8b177d88ad8b54464 (diff) |
Core/Worldserver: Split Worldserver services into separate files (#29555)
-rw-r--r-- | src/server/bnetserver/Services/AccountService.cpp | 1 | ||||
-rw-r--r-- | src/server/bnetserver/Services/AuthenticationService.cpp | 1 | ||||
-rw-r--r-- | src/server/bnetserver/Services/ConnectionService.cpp | 1 | ||||
-rw-r--r-- | src/server/bnetserver/Services/ConnectionService.h | 1 | ||||
-rw-r--r-- | src/server/bnetserver/Services/GameUtilitiesService.cpp | 1 | ||||
-rw-r--r-- | src/server/bnetserver/Services/GameUtilitiesService.h | 6 | ||||
-rw-r--r-- | src/server/game/Services/WorldserverGameUtilitiesService.cpp (renamed from src/server/game/Services/WorldserverService.cpp) | 14 | ||||
-rw-r--r-- | src/server/game/Services/WorldserverGameUtilitiesService.h | 50 | ||||
-rw-r--r-- | src/server/game/Services/WorldserverService.h | 34 | ||||
-rw-r--r-- | src/server/game/Services/WorldserverServiceDispatcher.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Services/WorldserverServiceDispatcher.h | 3 |
11 files changed, 62 insertions, 53 deletions
diff --git a/src/server/bnetserver/Services/AccountService.cpp b/src/server/bnetserver/Services/AccountService.cpp index 0e75de80a24..60eb5ffec24 100644 --- a/src/server/bnetserver/Services/AccountService.cpp +++ b/src/server/bnetserver/Services/AccountService.cpp @@ -16,7 +16,6 @@ */ #include "AccountService.h" -#include "Session.h" Battlenet::Services::Account::Account(Session* session) : AccountService(session) { diff --git a/src/server/bnetserver/Services/AuthenticationService.cpp b/src/server/bnetserver/Services/AuthenticationService.cpp index d157f42ca32..7dda9db6902 100644 --- a/src/server/bnetserver/Services/AuthenticationService.cpp +++ b/src/server/bnetserver/Services/AuthenticationService.cpp @@ -16,7 +16,6 @@ */ #include "AuthenticationService.h" -#include "Session.h" Battlenet::Services::Authentication::Authentication(Session* session) : AuthenticationService(session) { diff --git a/src/server/bnetserver/Services/ConnectionService.cpp b/src/server/bnetserver/Services/ConnectionService.cpp index ab8d6b838ed..fbb34a51985 100644 --- a/src/server/bnetserver/Services/ConnectionService.cpp +++ b/src/server/bnetserver/Services/ConnectionService.cpp @@ -17,7 +17,6 @@ #include "ConnectionService.h" #include "Duration.h" -#include "Session.h" #include "Util.h" #include "BattlenetRpcErrorCodes.h" diff --git a/src/server/bnetserver/Services/ConnectionService.h b/src/server/bnetserver/Services/ConnectionService.h index 028c1ec4205..f3aa3253e94 100644 --- a/src/server/bnetserver/Services/ConnectionService.h +++ b/src/server/bnetserver/Services/ConnectionService.h @@ -37,7 +37,6 @@ namespace Battlenet uint32 HandleConnect(connection::v1::ConnectRequest const* request, connection::v1::ConnectResponse* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation) override; uint32 HandleKeepAlive(NoData const* request) override; uint32 HandleRequestDisconnect(connection::v1::DisconnectRequest const* request) override; - }; } } diff --git a/src/server/bnetserver/Services/GameUtilitiesService.cpp b/src/server/bnetserver/Services/GameUtilitiesService.cpp index 225b7e47cc0..ee76e8b76a0 100644 --- a/src/server/bnetserver/Services/GameUtilitiesService.cpp +++ b/src/server/bnetserver/Services/GameUtilitiesService.cpp @@ -16,7 +16,6 @@ */ #include "GameUtilitiesService.h" -#include "Session.h" Battlenet::Services::GameUtilities::GameUtilities(Session* session) : GameUtilitiesService(session) { diff --git a/src/server/bnetserver/Services/GameUtilitiesService.h b/src/server/bnetserver/Services/GameUtilitiesService.h index ccd69dcd53d..bbc27baa933 100644 --- a/src/server/bnetserver/Services/GameUtilitiesService.h +++ b/src/server/bnetserver/Services/GameUtilitiesService.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef GameUtilitiesServiceService_h__ -#define GameUtilitiesServiceService_h__ +#ifndef GameUtilitiesService_h__ +#define GameUtilitiesService_h__ #include "Service.h" #include "game_utilities_service.pb.h" @@ -40,4 +40,4 @@ namespace Battlenet } } -#endif // GameUtilitiesServiceService_h__ +#endif // GameUtilitiesService_h__ diff --git a/src/server/game/Services/WorldserverService.cpp b/src/server/game/Services/WorldserverGameUtilitiesService.cpp index 213ffbbad8f..63c8223c72f 100644 --- a/src/server/game/Services/WorldserverService.cpp +++ b/src/server/game/Services/WorldserverGameUtilitiesService.cpp @@ -15,7 +15,7 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "WorldserverService.h" +#include "WorldserverGameUtilitiesService.h" #include "BattlenetRpcErrorCodes.h" #include "IpAddress.h" #include "Log.h" @@ -26,17 +26,17 @@ #include "World.h" #include <zlib.h> -std::unordered_map<std::string, Battlenet::GameUtilitiesService::ClientRequestHandler> const Battlenet::GameUtilitiesService::ClientRequestHandlers = +std::unordered_map<std::string, Battlenet::Services::GameUtilitiesService::ClientRequestHandler> const Battlenet::Services::GameUtilitiesService::ClientRequestHandlers = { { "Command_RealmListRequest_v1", &GameUtilitiesService::HandleRealmListRequest }, { "Command_RealmJoinRequest_v1", &GameUtilitiesService::HandleRealmJoinRequest } }; -Battlenet::GameUtilitiesService::GameUtilitiesService(WorldSession* session) : BaseService(session) +Battlenet::Services::GameUtilitiesService::GameUtilitiesService(WorldSession* session) : BaseService(session) { } -uint32 Battlenet::GameUtilitiesService::HandleProcessClientRequest(game_utilities::v1::ClientRequest const* request, game_utilities::v1::ClientResponse* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& /*continuation*/) +uint32 Battlenet::Services::GameUtilitiesService::HandleProcessClientRequest(game_utilities::v1::ClientRequest const* request, game_utilities::v1::ClientResponse* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& /*continuation*/) { Attribute const* command = nullptr; std::unordered_map<std::string, Variant const*> params; @@ -83,7 +83,7 @@ static Variant const* GetParam(std::unordered_map<std::string, Variant const*> c return itr != params.end() ? itr->second : nullptr; } -uint32 Battlenet::GameUtilitiesService::HandleRealmListRequest(std::unordered_map<std::string, Variant const*> const& params, game_utilities::v1::ClientResponse* response) +uint32 Battlenet::Services::GameUtilitiesService::HandleRealmListRequest(std::unordered_map<std::string, Variant const*> const& params, game_utilities::v1::ClientResponse* response) { std::string subRegionId; if (Variant const* subRegion = GetParam(params, "Command_RealmListRequest_v1")) @@ -122,7 +122,7 @@ uint32 Battlenet::GameUtilitiesService::HandleRealmListRequest(std::unordered_ma return ERROR_OK; } -uint32 Battlenet::GameUtilitiesService::HandleRealmJoinRequest(std::unordered_map<std::string, Variant const*> const& params, game_utilities::v1::ClientResponse* response) +uint32 Battlenet::Services::GameUtilitiesService::HandleRealmJoinRequest(std::unordered_map<std::string, Variant const*> const& params, game_utilities::v1::ClientResponse* response) { if (Variant const* realmAddress = GetParam(params, "Param_RealmAddress")) return sRealmList->JoinRealm(uint32(realmAddress->uint_value()), realm.Build, Trinity::Net::make_address(_session->GetRemoteAddress()), _session->GetRealmListSecret(), @@ -131,7 +131,7 @@ uint32 Battlenet::GameUtilitiesService::HandleRealmJoinRequest(std::unordered_ma return ERROR_WOW_SERVICES_INVALID_JOIN_TICKET; } -uint32 Battlenet::GameUtilitiesService::HandleGetAllValuesForAttribute(game_utilities::v1::GetAllValuesForAttributeRequest const* request, game_utilities::v1::GetAllValuesForAttributeResponse* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& /*continuation*/) +uint32 Battlenet::Services::GameUtilitiesService::HandleGetAllValuesForAttribute(game_utilities::v1::GetAllValuesForAttributeRequest const* request, game_utilities::v1::GetAllValuesForAttributeResponse* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& /*continuation*/) { if (request->attribute_key().find("Command_RealmListRequest_v1") == 0) { diff --git a/src/server/game/Services/WorldserverGameUtilitiesService.h b/src/server/game/Services/WorldserverGameUtilitiesService.h new file mode 100644 index 00000000000..46e729eae22 --- /dev/null +++ b/src/server/game/Services/WorldserverGameUtilitiesService.h @@ -0,0 +1,50 @@ +/* + * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information + * + * 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 <http://www.gnu.org/licenses/>. + */ + +#ifndef WorldserverGameUtilitiesService_h__ +#define WorldserverGameUtilitiesService_h__ + +#include "WorldserverService.h" +#include "game_utilities_service.pb.h" + +namespace Battlenet +{ + class Session; + + namespace Services + { + class GameUtilitiesService : public WorldserverService<game_utilities::v1::GameUtilitiesService> + { + typedef WorldserverService<game_utilities::v1::GameUtilitiesService> BaseService; + + public: + GameUtilitiesService(WorldSession* session); + + uint32 HandleProcessClientRequest(game_utilities::v1::ClientRequest const* request, game_utilities::v1::ClientResponse* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation) override; + uint32 HandleGetAllValuesForAttribute(game_utilities::v1::GetAllValuesForAttributeRequest const* request, game_utilities::v1::GetAllValuesForAttributeResponse* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation) override; + + private: + using ClientRequestHandler = uint32(GameUtilitiesService::*)(std::unordered_map<std::string, Variant const*> const&, game_utilities::v1::ClientResponse*); + static std::unordered_map<std::string, ClientRequestHandler> const ClientRequestHandlers; + + uint32 HandleRealmListRequest(std::unordered_map<std::string, Variant const*> const& params, game_utilities::v1::ClientResponse* response); + uint32 HandleRealmJoinRequest(std::unordered_map<std::string, Variant const*> const& params, game_utilities::v1::ClientResponse* response); + }; + } +} + +#endif // WorldserverGameUtilitiesService_h__ diff --git a/src/server/game/Services/WorldserverService.h b/src/server/game/Services/WorldserverService.h index 52f5945b9a8..80b89621cd1 100644 --- a/src/server/game/Services/WorldserverService.h +++ b/src/server/game/Services/WorldserverService.h @@ -19,22 +19,6 @@ #define WorldserverService_h__ #include "WorldSession.h" -#include "account_service.pb.h" -#include "authentication_service.pb.h" -#include "challenge_service.pb.h" -#include "club_listener.pb.h" -#include "club_membership_listener.pb.h" -#include "club_membership_service.pb.h" -#include "club_service.pb.h" -#include "connection_service.pb.h" -#include "friends_service.pb.h" -#include "game_utilities_service.pb.h" -#include "presence_listener.pb.h" -#include "presence_service.pb.h" -#include "report_service.pb.h" -#include "api/client/v2/report_service.pb.h" -#include "resource_service.pb.h" -#include "user_manager_service.pb.h" namespace bgs { namespace protocol { } } using namespace bgs::protocol; @@ -56,24 +40,6 @@ namespace Battlenet WorldSession* _session; }; - - class GameUtilitiesService : public WorldserverService<game_utilities::v1::GameUtilitiesService> - { - typedef WorldserverService<game_utilities::v1::GameUtilitiesService> BaseService; - - public: - GameUtilitiesService(WorldSession* session); - - uint32 HandleProcessClientRequest(game_utilities::v1::ClientRequest const* request, game_utilities::v1::ClientResponse* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation) override; - uint32 HandleGetAllValuesForAttribute(game_utilities::v1::GetAllValuesForAttributeRequest const* request, game_utilities::v1::GetAllValuesForAttributeResponse* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation) override; - - private: - using ClientRequestHandler = uint32(GameUtilitiesService::*)(std::unordered_map<std::string, Variant const*> const&, game_utilities::v1::ClientResponse*); - static std::unordered_map<std::string, ClientRequestHandler> const ClientRequestHandlers; - - uint32 HandleRealmListRequest(std::unordered_map<std::string, Variant const*> const& params, game_utilities::v1::ClientResponse* response); - uint32 HandleRealmJoinRequest(std::unordered_map<std::string, Variant const*> const& params, game_utilities::v1::ClientResponse* response); - }; } #endif // WorldserverService_h__ diff --git a/src/server/game/Services/WorldserverServiceDispatcher.cpp b/src/server/game/Services/WorldserverServiceDispatcher.cpp index 881c788574f..77177139790 100644 --- a/src/server/game/Services/WorldserverServiceDispatcher.cpp +++ b/src/server/game/Services/WorldserverServiceDispatcher.cpp @@ -16,7 +16,6 @@ */ #include "WorldserverServiceDispatcher.h" -#include "WorldserverService.h" Battlenet::WorldserverServiceDispatcher::WorldserverServiceDispatcher() { @@ -26,7 +25,7 @@ Battlenet::WorldserverServiceDispatcher::WorldserverServiceDispatcher() AddService<WorldserverService<club::v1::ClubService>>(); AddService<WorldserverService<connection::v1::ConnectionService>>(); AddService<WorldserverService<friends::v1::FriendsService>>(); - AddService<GameUtilitiesService>(); + AddService<Services::GameUtilitiesService>(); AddService<WorldserverService<presence::v1::PresenceService>>(); AddService<WorldserverService<report::v1::ReportService>>(); AddService<WorldserverService<report::v2::ReportService>>(); diff --git a/src/server/game/Services/WorldserverServiceDispatcher.h b/src/server/game/Services/WorldserverServiceDispatcher.h index 038d8c873d7..c40d2c883ab 100644 --- a/src/server/game/Services/WorldserverServiceDispatcher.h +++ b/src/server/game/Services/WorldserverServiceDispatcher.h @@ -21,7 +21,6 @@ #include "WorldSession.h" #include "MessageBuffer.h" #include "Log.h" -#include "Common.h" #include "account_service.pb.h" #include "authentication_service.pb.h" #include "challenge_service.pb.h" @@ -31,7 +30,7 @@ #include "club_service.pb.h" #include "connection_service.pb.h" #include "friends_service.pb.h" -#include "game_utilities_service.pb.h" +#include "WorldserverGameUtilitiesService.h" #include "presence_listener.pb.h" #include "presence_service.pb.h" #include "report_service.pb.h" |