28 lines
928 B
C++
28 lines
928 B
C++
#pragma once
|
|
#include "network/tcp-chat-protocol/v1.h"
|
|
#include "server/server.h"
|
|
#include "log.h"
|
|
|
|
|
|
Result(char*) __sendErrorMessage(ClientConnection* conn, PacketHeader* req_head, PacketHeader* res_head,
|
|
u32 msg_buf_size, cstr format, va_list argv);
|
|
Result(char*) sendErrorMessage(ClientConnection* conn, PacketHeader* req_head, PacketHeader* res_head,
|
|
u32 msg_buf_size, cstr format, ...) ATTRIBUTE_CHECK_FORMAT_PRINTF(5, 6);
|
|
|
|
|
|
#define declare_RequestHandler(TYPE) \
|
|
Result(void) handleRequest_##TYPE( \
|
|
cstr log_ctx, cstr req_type_name, \
|
|
ClientConnection* conn, PacketHeader* req_head, PacketHeader* res_head)
|
|
|
|
#define case_handleRequest(TYPE) \
|
|
case PacketType_##TYPE##Request:\
|
|
try_void(handleRequest_##TYPE(log_ctx, #TYPE, conn, &req_head, &res_head));\
|
|
break;
|
|
|
|
declare_RequestHandler(ServerPublicInfo);
|
|
declare_RequestHandler(Login);
|
|
declare_RequestHandler(Register);
|
|
|
|
|