mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 09:17:36 +01:00
Core/Worldserver: Split Worldserver services into separate files (#29555)
(cherry picked from commit 39621fa41c)
This commit is contained in:
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
|
||||
#include "AccountService.h"
|
||||
#include "Session.h"
|
||||
|
||||
Battlenet::Services::Account::Account(Session* session) : AccountService(session)
|
||||
{
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
|
||||
#include "AuthenticationService.h"
|
||||
#include "Session.h"
|
||||
|
||||
Battlenet::Services::Authentication::Authentication(Session* session) : AuthenticationService(session)
|
||||
{
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
|
||||
#include "ConnectionService.h"
|
||||
#include "Duration.h"
|
||||
#include "Session.h"
|
||||
#include "Util.h"
|
||||
#include "BattlenetRpcErrorCodes.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;
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
|
||||
#include "GameUtilitiesService.h"
|
||||
#include "Session.h"
|
||||
|
||||
Battlenet::Services::GameUtilities::GameUtilities(Session* session) : GameUtilitiesService(session)
|
||||
{
|
||||
|
||||
@@ -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__
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
50
src/server/game/Services/WorldserverGameUtilitiesService.h
Normal file
50
src/server/game/Services/WorldserverGameUtilitiesService.h
Normal file
@@ -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__
|
||||
@@ -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__
|
||||
|
||||
@@ -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>>();
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user