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