18#ifndef WORLDSERVER_GAME_UTILITIES_SERVICE_H
19#define WORLDSERVER_GAME_UTILITIES_SERVICE_H
22#include "Client/game_utilities_service.pb.h"
23#include "Client/api/client/v2/game_utilities_service.pb.h"
27 using Variant = std::variant<bool, int64, double, std::string, std::vector<uint8>,
uint64>;
38 std::vector<std::pair<std::string_view, Variant>>&
params,
39 std::vector<std::pair<std::string_view, Variant>>& responseValues);
45 std::vector<std::pair<std::string_view, Variant>>& responseValues);
47 std::vector<std::pair<std::string_view, Variant>>& responseValues);
63 uint32 HandleProcessTask(game_utilities::v2::client::ProcessTaskRequest
const* request, game_utilities::v2::client::ProcessTaskResponse* response, std::function<
void(
ServiceBase*,
uint32, ::google::protobuf::Message
const*)>& continuation)
override;
64 uint32 HandleGetAllValuesForAttribute(game_utilities::v2::client::GetAllValuesForAttributeRequest
const* request, game_utilities::v2::client::GetAllValuesForAttributeResponse* response, std::function<
void(
ServiceBase*,
uint32, ::google::protobuf::Message
const*)>& continuation)
override;
std::unordered_set< uint32 > params[2]
static std::string_view ParseParamName(std::string_view command)
static uint32 HandleClientRequest(Session *session, std::vector< std::pair< std::string_view, Variant > > ¶ms, std::vector< std::pair< std::string_view, Variant > > &responseValues)
static Variant * FindParamValue(std::vector< std::pair< std::string_view, Variant > > ¶ms, std::string_view paramName)
static uint32 JoinRealm(Session const *session, std::vector< std::pair< std::string_view, Variant > > ¶ms, std::vector< std::pair< std::string_view, Variant > > &responseValues)
static uint32 GetRealmList(Session const *session, std::vector< std::pair< std::string_view, Variant > > ¶ms, std::vector< std::pair< std::string_view, Variant > > &responseValues)
static uint32 HandleGetAllValuesForAttribute(Session const *session, std::string_view command, std::vector< Variant > &responseValues)
WorldserverService< game_utilities::v2::client::GameUtilitiesService > BaseService
uint32 HandleGetAllValuesForAttribute(game_utilities::v2::client::GetAllValuesForAttributeRequest const *request, game_utilities::v2::client::GetAllValuesForAttributeResponse *response, std::function< void(ServiceBase *, uint32, ::google::protobuf::Message const *)> &continuation) override
uint32 HandleProcessTask(game_utilities::v2::client::ProcessTaskRequest const *request, game_utilities::v2::client::ProcessTaskResponse *response, std::function< void(ServiceBase *, uint32, ::google::protobuf::Message const *)> &continuation) override
Player session in the World.
Battlenet::Services::Variant FromProto(bgs::protocol::v2::Variant const &from)
void ToProto(Battlenet::Services::Variant const &from, bgs::protocol::v2::Variant *to)
std::variant< bool, int64, double, std::string, std::vector< uint8 >, uint64 > Variant