void ChatHandler::handleMessage(MessageIn &msg) { switch (msg.getId()) { case GPMSG_SAY: handleGameChatMessage(msg); break; case CPMSG_ENTER_CHANNEL_RESPONSE: handleEnterChannelResponse(msg); break; case CPMSG_LIST_CHANNELS_RESPONSE: handleListChannelsResponse(msg); break; case CPMSG_PRIVMSG: handlePrivateMessage(msg); break; case CPMSG_ANNOUNCEMENT: handleAnnouncement(msg); break; case CPMSG_PUBMSG: handleChatMessage(msg); break; case CPMSG_QUIT_CHANNEL_RESPONSE: handleQuitChannelResponse(msg); break; case CPMSG_LIST_CHANNELUSERS_RESPONSE: handleListChannelUsersResponse(msg); break; case CPMSG_CHANNEL_EVENT: handleChannelEvent(msg); break; case CPMSG_WHO_RESPONSE: handleWhoResponse(msg); break; } }
void ChatHandler::handleMessage(Net::MessageIn &msg) { switch (msg.getId()) { case GPMSG_SAY: handleGameChatMessage(msg); break; case CPMSG_ENTER_CHANNEL_RESPONSE: handleEnterChannelResponse(msg); break; case CPMSG_LIST_CHANNELS_RESPONSE: handleListChannelsResponse(msg); break; case CPMSG_PRIVMSG: handlePrivateMessage(msg); break; case CPMSG_ANNOUNCEMENT: handleAnnouncement(msg); break; case CPMSG_PUBMSG: handleChatMessage(msg); break; case CPMSG_QUIT_CHANNEL_RESPONSE: handleQuitChannelResponse(msg); break; case CPMSG_LIST_CHANNELUSERS_RESPONSE: handleListChannelUsersResponse(msg); break; case CPMSG_CHANNEL_EVENT: handleChannelEvent(msg); break; case CPMSG_WHO_RESPONSE: handleWhoResponse(msg); break; case CPMSG_DISCONNECT_RESPONSE: { int errMsg = msg.readInt8(); // Successful logout if (errMsg == ERRMSG_OK) { // TODO: Handle logout } else { switch (errMsg) { case ERRMSG_NO_LOGIN: errorMessage = "Chatserver: Not logged in"; break; default: errorMessage = "Chatserver: Unknown error"; break; } state = STATE_ERROR; } } break; } }