Yalgaar mBed SDK for real-time messaging
Fork of MQTT by
Embed:
(wiki syntax)
Show/hide line numbers
yalgaar_api.h
00001 /** @fileName <yalgaar_api> 00002 * @brief - <Yalgaar SDK APIS> 00003 * 00004 * @Version:V:01:00:000 00005 * 00006 * 00007 * @Copyright: 00008 * Copyright (c) 2010 System Level Solution (India) pvt.ltd. Corporation. All rights reserved. 00009 * 00010 * License: Free License for Yalgaar Users 00011 * Disclaimer: 00012 * SLS MAKES NO REPRESENTATION, WARRANTY, OR CONDITION OF ANY KIND, EXPRESS, 00013 * IMPLIED, STATUTORY, OR OTHERWISE OR IN ANY COMMUNICATION WITH YOU, INCLUDING, 00014 * BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY 00015 * QUALITY, FITNESS FOR ANY PARTICULAR PURPOSE, NONINFRINGEMENT, AND THEIR 00016 * EQUIVALENTS. 00017 */ 00018 #ifndef yalgaar_api_h 00019 #define yalgaar_api_h 00020 00021 #include "PubSubClient.h" 00022 00023 #define YALGAAR_MAX_UUID_STR_COUNT 10 00024 #define YALGAAR_CLIENT_DEFAULT_STRING_LEN 50 00025 #define YALGAAR_MAX_CHANNEL_NAME_LENGTH 50 00026 #define YALGAAR_ERROR_MESSAGE_LENGTH 255 00027 #define YALGAAR_CLIENT_KEY_MAX_LENGTH 20 00028 00029 00030 00031 #define YALGAAR_HOST "api.yalgaar.io" 00032 #define YALGAAR_PORT 1883 00033 00034 extern int pubsub_error_code; 00035 00036 typedef enum Yalgaar_Error { 00037 SUCCESS = 1, 00038 FAILURE = 0, 00039 CLIENT_NULL=101, 00040 CLIENT_NOT_VALID=102, 00041 CLIENT_KEY_NOT_REG=103, 00042 UUID_NOT_VALID=104, 00043 CLIENT_KEY_NOT_ACTIVE=105, 00044 SSL_NOT_ENABLE=106, 00045 CONNECTION_LIMIT_EXCEED=107, 00046 SUBCRIPTION_NOT_VALID=108, 00047 SUBCRIPTION_CLIENT_KEY_NOT_MATCH=109, 00048 MULTIPLE_SUBCRIBES_NOT_ALLOWED=110, 00049 SUBCRIBE_CHANNEL_LENGTH_EXCEED=111, 00050 STORAGE_NOT_ENABLE=112, 00051 PRESENCE_NOT_ENABLE=113, 00052 HISTORY_CHANNEL_NOT_SUBCRIBE=114, 00053 MESSAGE_NOT_NULL=115, 00054 PUBLISH_CHANNEL_NOT_VALID=116, 00055 PUBLISH_CLIENT_KEY_NOT_MATCH=117, 00056 MESSAGE_CNT_EXCEED=118, 00057 MESSAGE_SIZE_EXCEED=119, 00058 MESSAGE_LENGTH_EXCEED=120, 00059 UNSUBSCRIBE_CHANNEL_NOT_VALID=121, 00060 UNSUBSCRIBE_CLIENT_KEY_NOT_MATCH=122, 00061 UNSUBSCRIBE_CHANNEL_LENGTH_EXCEED=123, 00062 YALGAAR_MAX, 00063 INVL_STRING 00064 } Yalgaar_Error_t; 00065 00066 //class PubSubClient; 00067 00068 class yalgaar: public PubSubClient 00069 { 00070 public: 00071 00072 yalgaar():PubSubClient() {} 00073 yalgaar(char *ip, int port):PubSubClient(ip,port) {} 00074 Yalgaar_Error_t yalgaar_connect(const char* id,const char *uuid,void(*connectionCallback)(char * )); 00075 void yalgaar_disconnect(); 00076 Yalgaar_Error_t yalgaar_publish(const char* topic, char* payload); 00077 Yalgaar_Error_t yalgaar_unsubscribe(const char* topic); 00078 Yalgaar_Error_t yalgaar_subscribe(char * subscribe_channel,void(* sub_mesg_callback)(char *),void(*presence_mesg_callback)(char *), void(*error_msg_callback)(char *)); 00079 Yalgaar_Error_t yalgaar_subscribes(char** subscribe_channel,void(* sub_mesg_callback)(char *),void(*presence_mesg_callback)(char *), void(*error_msg_callback)(char *)); 00080 void connection_state(bool ret); 00081 void yalgaar_loop(); 00082 bool yalgaar_connected(); 00083 void enum_to_message(int error_msg,char *errorString); 00084 }; 00085 #endif
Generated on Wed Jul 13 2022 09:17:26 by 1.7.2