Yalgaar mBed SDK for real-time messaging
Fork of MQTT by
Diff: yalgaar_api.h
- Revision:
- 1:c233cee7c15b
- Child:
- 2:3c0aa178e3db
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/yalgaar_api.h Fri Mar 10 13:11:49 2017 +0000 @@ -0,0 +1,85 @@ +/** @fileName <yalgaar_api> + * @brief - <Yalgaar SDK APIS> + * + * @Version:V:01:00:000 + * + * + * @Copyright: + * Copyright (c) 2010 System Level Solution (India) pvt.ltd. Corporation. All rights reserved. + * + * License: Free License for Yalgaar Users + * Disclaimer: + * SLS MAKES NO REPRESENTATION, WARRANTY, OR CONDITION OF ANY KIND, EXPRESS, + * IMPLIED, STATUTORY, OR OTHERWISE OR IN ANY COMMUNICATION WITH YOU, INCLUDING, + * BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY + * QUALITY, FITNESS FOR ANY PARTICULAR PURPOSE, NONINFRINGEMENT, AND THEIR + * EQUIVALENTS. + */ +#ifndef yalgaar_api_h +#define yalgaar_api_h + +#include "PubSubClient.h" + +#define YALGAAR_MAX_UUID_STR_COUNT 10 +#define YALGAAR_CLIENT_DEFAULT_STRING_LEN 50 +#define YALGAAR_MAX_CHANNEL_NAME_LENGTH 50 +#define YALGAAR_ERROR_MESSAGE_LENGTH 255 +#define YALGAAR_CLIENT_KEY_MAX_LENGTH 20 + + + +#define YALGAAR_HOST "192.168.60.6" +#define YALGAAR_PORT 1883 + +extern int pubsub_error_code; + +typedef enum Yalgaar_Error { + SUCCESS = 1, + FAILURE = 0, + CLIENT_NULL=101, + CLIENT_NOT_VALID=102, + CLIENT_KEY_NOT_REG=103, + UUID_NOT_VALID=104, + CLIENT_KEY_NOT_ACTIVE=105, + SSL_NOT_ENABLE=106, + CONNECTION_LIMIT_EXCEED=107, + SUBCRIPTION_NOT_VALID=108, + SUBCRIPTION_CLIENT_KEY_NOT_MATCH=109, + MULTIPLE_SUBCRIBES_NOT_ALLOWED=110, + SUBCRIBE_CHANNEL_LENGTH_EXCEED=111, + STORAGE_NOT_ENABLE=112, + PRESENCE_NOT_ENABLE=113, + HISTORY_CHANNEL_NOT_SUBCRIBE=114, + MESSAGE_NOT_NULL=115, + PUBLISH_CHANNEL_NOT_VALID=116, + PUBLISH_CLIENT_KEY_NOT_MATCH=117, + MESSAGE_CNT_EXCEED=118, + MESSAGE_SIZE_EXCEED=119, + MESSAGE_LENGTH_EXCEED=120, + UNSUBSCRIBE_CHANNEL_NOT_VALID=121, + UNSUBSCRIBE_CLIENT_KEY_NOT_MATCH=122, + UNSUBSCRIBE_CHANNEL_LENGTH_EXCEED=123, + YALGAAR_MAX, + INVL_STRING +} Yalgaar_Error_t; + +//class PubSubClient; + +class yalgaar: public PubSubClient +{ +public: + + yalgaar():PubSubClient() {} + yalgaar(char *ip, int port):PubSubClient(ip,port) {} + Yalgaar_Error_t yalgaar_connect(const char* id,const char *uuid,void(*connectionCallback)(char * )); + void yalgaar_disconnect(); + Yalgaar_Error_t yalgaar_publish(const char* topic, char* payload); + Yalgaar_Error_t yalgaar_unsubscribe(const char* topic); + Yalgaar_Error_t yalgaar_subscribe(char * subscribe_channel,void(* sub_mesg_callback)(char *),void(*presence_mesg_callback)(char *), void(*error_msg_callback)(char *)); + Yalgaar_Error_t yalgaar_subscribes(char** subscribe_channel,void(* sub_mesg_callback)(char *),void(*presence_mesg_callback)(char *), void(*error_msg_callback)(char *)); + void connection_state(bool ret); + void yalgaar_loop(); + bool yalgaar_connected(); + void enum_to_message(int error_msg,char *errorString); +}; +#endif \ No newline at end of file