Message types
How to identify and handle different message types.
Read time 1 minuteLast updated 20 hours ago
Games need a message handler to process Vivox event and response messages. To determine the message type, check the
vx_message_base_t.type- If the type is , then the message is of the type
msg_response, and you can cast the pointer directly tox_resp_base_t.vx_resp_base_t - If the type is , then the message is of the type
msg_event, and you can cast the pointer directly tovx_evt_base_t.vx_evt_base_t
If the message is of the typevoid MyGamesMessageHandler (vx_message_base_t *msg){ if (msg->type == msg_response) { // Call your response handler here vx_resp_base_t *resp = reinterpret_cast<vx_resp_base_t *>(msg); MyGamesResponseHandler(resp); // implementation below } else if(msg->type == msg_event) { vx_evt_base_t *evt = reinterpret_cast<vx_evt_base_t *>(msg); MyGamesEventHandler(evt); // implementation below }}
vx_resp_basevx_resp_base.typeIf the message is of the typevoid MyGamesResponseHandler(vx_resp_base_t *resp){ if (resp->type == resp_connector_create) { // Call your response handler here vx_resp_connector_create_t *typed_resp = reinterpret_cast<x_resp_connector_create_t *>(resp); MyGamesConnectorCreateHandler(typed_resp); } else if (resp->type == ...) { ... }}
vx_evt_basevx_evt_base.typevoid MyGamesEventHandler(vx_evt_base_t *evt){ if (evt->type == evt_account_login_state_change) { // Call your response handler here vx_evt_account_login_state_change *typed_evt = reinterpret_cast<vx_evt_account_login_state_change *>(evt); MyGamesLoginStateChangeHandler(typed_evt); } else if (evt->type == ...) { ... }}