yalgaar Ruby SDK for real-time messaging
Dependencies: EthernetInterface mbed-rtos mbed Yalgaar
main.cpp
00001 00002 #include "yalgaar_api.h" 00003 00004 Serial pc(USBTX, USBRX,115200); 00005 00006 EthernetInterface eth; 00007 yalgaar yalgaar_client; 00008 00009 00010 Yalgaar_Error_t ret = FAILURE; 00011 char err_string[YALGAAR_ERROR_MESSAGE_LENGTH] = {'\0'}; 00012 int pub_count = 10; 00013 00014 void subscribe_message_callback(char *payload) 00015 { 00016 pc.printf("subscribe_message_callback :%s\r\n",payload); 00017 } 00018 void presence_message_callback(char *message) 00019 { 00020 pc.printf("presence_message_callback: %s\r\n",message); 00021 } 00022 void error_message_callback(char *error) 00023 { 00024 pc.printf("error_message_callback :%s\r\n",error); 00025 } 00026 00027 00028 void connection_Callback(char* error_dec) 00029 { 00030 if(yalgaar_client.yalgaar_connected()) 00031 { 00032 pc.printf("connection callback :: %s\r\n",error_dec); 00033 } 00034 else 00035 { 00036 pc.printf("connection_Callback :%s\r\n",error_dec); 00037 } 00038 } 00039 00040 00041 00042 00043 int main() 00044 { 00045 wait(2.0f); 00046 eth.init(); //Use DHCP 00047 do pc.printf("Connection...\r\n"); 00048 while (eth.connect() != 0); 00049 00050 pc.printf("IP Address is %s\r\n", eth.getIPAddress()); 00051 00052 00053 ret = yalgaar_client.yalgaar_connect("YourClientKey","UUID", connection_Callback); 00054 if (SUCCESS != ret) { 00055 yalgaar_client.enum_to_message(ret, err_string); 00056 pc.printf("Connection fail %s \r\n",err_string); 00057 } 00058 00059 00060 if (ret == SUCCESS) { 00061 00062 ret = yalgaar_client.yalgaar_subscribe("YourChannel", subscribe_message_callback, presence_message_callback, error_message_callback); 00063 00064 if (SUCCESS != ret) { 00065 yalgaar_client.enum_to_message(ret, err_string); 00066 pc.printf("subscribe failure %s \r\n",err_string); 00067 } 00068 } else { 00069 pc.printf(" try again in 5 seconds\r\n"); 00070 // Wait 5 seconds before retrying 00071 wait(5.0f); 00072 } 00073 00074 while(1) { 00075 00076 // Once connected, publish an announcement... 00077 if (yalgaar_client.yalgaar_connected()) { 00078 if (pub_count) { 00079 wait(5.0f); 00080 ret = yalgaar_client.yalgaar_publish("YourChannel", "This is Yalgaar mbed SDK Example"); 00081 if (SUCCESS != ret) { 00082 yalgaar_client.enum_to_message(ret, err_string); 00083 pc.printf("publish failure %s \r\n",err_string); 00084 } 00085 pub_count--; 00086 } 00087 } 00088 yalgaar_client.yalgaar_loop(); 00089 } 00090 }
Generated on Sat Jul 16 2022 02:17:34 by 1.7.2