18#ifndef WorldserverServiceDispatcher_h__
19#define WorldserverServiceDispatcher_h__
53 template<
class Service>
56 _dispatchers[Service::OriginalHash::value] = &WorldserverServiceDispatcher::Dispatch<Service>;
59 template<
class Service>
62 Service(session).CallServerMethod(token, methodId, std::move(buffer));
70#define sServiceDispatcher Battlenet::WorldserverServiceDispatcher::Instance()
WorldserverServiceDispatcher()
void(* ServiceMethod)(WorldSession *, uint32, uint32, MessageBuffer)
void Dispatch(WorldSession *session, uint32 serviceHash, uint32 token, uint32 methodId, MessageBuffer buffer)
std::unordered_map< uint32, ServiceMethod > _dispatchers
static WorldserverServiceDispatcher & Instance()
static void Dispatch(WorldSession *session, uint32 token, uint32 methodId, MessageBuffer buffer)
Player session in the World.