1.7.3.21 SYS_WSS_register_callback Function
C
SYS_WSS_RESULT SYS_WSS_register_callback(SYS_WSS_CALLBACK userCallback, void* cookie)
Summary
API for registering the application callback function with the WSS service.
Description
Callback functions may be registered by clients of the WSS service during the initialization using this API.
Precondition
None.
Parameters
Param | Description |
---|---|
userCallback | A function pointer to the application call back API. |
event | Data (if any) related to the Event |
cookie | A context value, returned untouched to the client when the callback occurs. |
Returns
SYS_WSS_RESULT.
Example
void wss_user_callback(SYS_WSS_EVENTS event, void *data, int32_t clientIndex, void *cookie) { int i = 0; switch (event) { case SYS_WSS_EVENT_CLIENT_CONNECTING: { SYS_CONSOLE_PRINT("wssSysServCallback(%d): SYS_WSS_EVENT_CLIENT_CONNECTING\r\n",clientIndex); break; } case SYS_WSS_EVENT_CLIENT_CONNECTED: { SYS_CONSOLE_PRINT("wssSysServCallback(%d): SYS_WSS_EVENT_CLIENT_CONNECTED\r\n",clientIndex); break; } case SYS_WSS_EVENT_CLIENT_BIN_DATA_RX: { SYS_CONSOLE_PRINT("wssSysServCallback(%d): SYS_WSS_EVENT_CLIENT_BIN_DATA_RX\r\n",clientIndex); for (i = 0; i < ((SYS_WSS_RXDATA*) data)->datalen; i++) { SYS_CONSOLE_PRINT("%X ", ((SYS_WSS_RXDATA*) data)->data[i]); } SYS_CONSOLE_PRINT("\r\n"); //echo server. SYS_WSS_sendMessage(1, SYS_WSS_FRAME_TEXT, ((SYS_WSS_RXDATA*) data)->data, ((SYS_WSS_RXDATA *) data)->datalen, clientIndex); break; } case SYS_WSS_EVENT_CLIENT_TXT_DATA_RX: { SYS_CONSOLE_PRINT("wssSysServCallback(%d): SYS_WSS_EVENT_CLIENT_TXT_DATA_RX\r\n",clientIndex); for (i = 0; i < ((SYS_WSS_RXDATA *) data)->datalen; i++) { SYS_CONSOLE_PRINT("%c", ((SYS_WSS_RXDATA*) data)->data[i]); } SYS_CONSOLE_PRINT("\r\n"); // Enable the below statement for echo server //SYS_WSS_sendMessage(1, SYS_WSS_FRAME_TEXT, ((SYS_WSS_RXDATA*) data)->data, ((SYS_WSS_RXDATA *) data)->datalen, clientIndex); break; } case SYS_WSS_EVENT_CLIENT_CLOSING: { SYS_CONSOLE_PRINT("wssSysServCallback(%d): SYS_WSS_EVENT_CLIENT_CLOSING\r\n",clientIndex); break; } case SYS_WSS_EVENT_CLIENT_CLOSED: { SYS_CONSOLE_PRINT("wssSysServCallback(%d): SYS_WSS_EVENT_CLIENT_CLOSED\r\n",clientIndex); break; } case SYS_WSS_EVENT_ERR_INVALID_FRAME: { SYS_CONSOLE_PRINT("wssSysServCallback(%d): SYS_WSS_EVENT_ERR_INVALID_FRAME\r\n",clientIndex); break; } case SYS_WSS_EVENT_CLIENT_PING_RX: { SYS_CONSOLE_PRINT("wssSysServCallback(%d): SYS_WSS_EVENT_CLIENT_PING_RX\r\n",clientIndex); break; } case SYS_WSS_EVENT_CLIENT_PONG_RX: { SYS_CONSOLE_PRINT("wssSysServCallback(%d): SYS_WSS_EVENT_CLIENT_PONG_RX\r\n",clientIndex); break; } case SYS_WSS_EVENT_CLIENT_CLOSE_FRAME_RX: { SYS_CONSOLE_PRINT("wssSysServCallback(%d): SYS_WSS_EVENT_CLIENT_CLOSE_FRAME_RX\r\n",clientIndex); break; } case SYS_WSS_EVENT_ERR: { SYS_CONSOLE_PRINT("wssSysServCallback(%d): SYS_WSS_EVENT_ERR\r\n",clientIndex); break; } case SYS_WSS_EVENT_DOWN: { SYS_CONSOLE_PRINT("wssSysServCallback(%d): SYS_WSS_EVENT_DOWN\r\n",clientIndex); break; } case SYS_WSS_EVENT_CLIENT_TIMEOUT: { SYS_CONSOLE_PRINT("wssSysServCallback(%d): SYS_WSS_EVENT_CLIENT_TIMEOUT\r\n",clientIndex); break; } } }
Remarks
None.