Yalgaar mBed SDK for real-time messaging

Dependents:   YalgaarSDK

Fork of MQTT by Joerg Wende

Committer:
nileshvora
Date:
Tue Mar 14 11:21:33 2017 +0000
Revision:
5:7dde43328c25
Parent:
4:013cbaaeda50
Yalgaar SDK V1.0.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nileshvora 1:c233cee7c15b 1 /** @fileName <yalgaar_api>
nileshvora 1:c233cee7c15b 2 * @brief - <Yalgaar SDK APIS>
nileshvora 1:c233cee7c15b 3 *
nileshvora 1:c233cee7c15b 4 * @Version:V:01:00:000
nileshvora 1:c233cee7c15b 5 *
nileshvora 1:c233cee7c15b 6 *
nileshvora 1:c233cee7c15b 7 * @Copyright:
nileshvora 1:c233cee7c15b 8 * Copyright (c) 2010 System Level Solution (India) pvt.ltd. Corporation. All rights reserved.
nileshvora 1:c233cee7c15b 9 *
nileshvora 1:c233cee7c15b 10 * License: Free License for Yalgaar Users
nileshvora 1:c233cee7c15b 11 * Disclaimer:
nileshvora 1:c233cee7c15b 12 * SLS MAKES NO REPRESENTATION, WARRANTY, OR CONDITION OF ANY KIND, EXPRESS,
nileshvora 1:c233cee7c15b 13 * IMPLIED, STATUTORY, OR OTHERWISE OR IN ANY COMMUNICATION WITH YOU, INCLUDING,
nileshvora 1:c233cee7c15b 14 * BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY
nileshvora 1:c233cee7c15b 15 * QUALITY, FITNESS FOR ANY PARTICULAR PURPOSE, NONINFRINGEMENT, AND THEIR
nileshvora 1:c233cee7c15b 16 * EQUIVALENTS.
nileshvora 1:c233cee7c15b 17 */
nileshvora 1:c233cee7c15b 18 #ifndef yalgaar_api_h
nileshvora 1:c233cee7c15b 19 #define yalgaar_api_h
nileshvora 1:c233cee7c15b 20
nileshvora 1:c233cee7c15b 21 #include "PubSubClient.h"
nileshvora 1:c233cee7c15b 22
nileshvora 1:c233cee7c15b 23 #define YALGAAR_MAX_UUID_STR_COUNT 10
nileshvora 1:c233cee7c15b 24 #define YALGAAR_CLIENT_DEFAULT_STRING_LEN 50
nileshvora 1:c233cee7c15b 25 #define YALGAAR_MAX_CHANNEL_NAME_LENGTH 50
nileshvora 1:c233cee7c15b 26 #define YALGAAR_ERROR_MESSAGE_LENGTH 255
nileshvora 1:c233cee7c15b 27 #define YALGAAR_CLIENT_KEY_MAX_LENGTH 20
nileshvora 1:c233cee7c15b 28
nileshvora 1:c233cee7c15b 29
nileshvora 1:c233cee7c15b 30
nileshvora 5:7dde43328c25 31 #define YALGAAR_HOST "api.yalgaar.io"
nileshvora 1:c233cee7c15b 32 #define YALGAAR_PORT 1883
nileshvora 1:c233cee7c15b 33
nileshvora 1:c233cee7c15b 34 extern int pubsub_error_code;
nileshvora 1:c233cee7c15b 35
nileshvora 1:c233cee7c15b 36 typedef enum Yalgaar_Error {
nileshvora 1:c233cee7c15b 37 SUCCESS = 1,
nileshvora 1:c233cee7c15b 38 FAILURE = 0,
nileshvora 1:c233cee7c15b 39 CLIENT_NULL=101,
nileshvora 1:c233cee7c15b 40 CLIENT_NOT_VALID=102,
nileshvora 1:c233cee7c15b 41 CLIENT_KEY_NOT_REG=103,
nileshvora 1:c233cee7c15b 42 UUID_NOT_VALID=104,
nileshvora 1:c233cee7c15b 43 CLIENT_KEY_NOT_ACTIVE=105,
nileshvora 1:c233cee7c15b 44 SSL_NOT_ENABLE=106,
nileshvora 1:c233cee7c15b 45 CONNECTION_LIMIT_EXCEED=107,
nileshvora 1:c233cee7c15b 46 SUBCRIPTION_NOT_VALID=108,
nileshvora 1:c233cee7c15b 47 SUBCRIPTION_CLIENT_KEY_NOT_MATCH=109,
nileshvora 1:c233cee7c15b 48 MULTIPLE_SUBCRIBES_NOT_ALLOWED=110,
nileshvora 1:c233cee7c15b 49 SUBCRIBE_CHANNEL_LENGTH_EXCEED=111,
nileshvora 1:c233cee7c15b 50 STORAGE_NOT_ENABLE=112,
nileshvora 1:c233cee7c15b 51 PRESENCE_NOT_ENABLE=113,
nileshvora 1:c233cee7c15b 52 HISTORY_CHANNEL_NOT_SUBCRIBE=114,
nileshvora 1:c233cee7c15b 53 MESSAGE_NOT_NULL=115,
nileshvora 1:c233cee7c15b 54 PUBLISH_CHANNEL_NOT_VALID=116,
nileshvora 1:c233cee7c15b 55 PUBLISH_CLIENT_KEY_NOT_MATCH=117,
nileshvora 1:c233cee7c15b 56 MESSAGE_CNT_EXCEED=118,
nileshvora 1:c233cee7c15b 57 MESSAGE_SIZE_EXCEED=119,
nileshvora 1:c233cee7c15b 58 MESSAGE_LENGTH_EXCEED=120,
nileshvora 1:c233cee7c15b 59 UNSUBSCRIBE_CHANNEL_NOT_VALID=121,
nileshvora 1:c233cee7c15b 60 UNSUBSCRIBE_CLIENT_KEY_NOT_MATCH=122,
nileshvora 1:c233cee7c15b 61 UNSUBSCRIBE_CHANNEL_LENGTH_EXCEED=123,
nileshvora 1:c233cee7c15b 62 YALGAAR_MAX,
nileshvora 1:c233cee7c15b 63 INVL_STRING
nileshvora 1:c233cee7c15b 64 } Yalgaar_Error_t;
nileshvora 1:c233cee7c15b 65
nileshvora 1:c233cee7c15b 66 //class PubSubClient;
nileshvora 1:c233cee7c15b 67
nileshvora 1:c233cee7c15b 68 class yalgaar: public PubSubClient
nileshvora 1:c233cee7c15b 69 {
nileshvora 1:c233cee7c15b 70 public:
nileshvora 1:c233cee7c15b 71
nileshvora 1:c233cee7c15b 72 yalgaar():PubSubClient() {}
nileshvora 1:c233cee7c15b 73 yalgaar(char *ip, int port):PubSubClient(ip,port) {}
nileshvora 1:c233cee7c15b 74 Yalgaar_Error_t yalgaar_connect(const char* id,const char *uuid,void(*connectionCallback)(char * ));
nileshvora 1:c233cee7c15b 75 void yalgaar_disconnect();
nileshvora 1:c233cee7c15b 76 Yalgaar_Error_t yalgaar_publish(const char* topic, char* payload);
nileshvora 1:c233cee7c15b 77 Yalgaar_Error_t yalgaar_unsubscribe(const char* topic);
nileshvora 1:c233cee7c15b 78 Yalgaar_Error_t yalgaar_subscribe(char * subscribe_channel,void(* sub_mesg_callback)(char *),void(*presence_mesg_callback)(char *), void(*error_msg_callback)(char *));
nileshvora 1:c233cee7c15b 79 Yalgaar_Error_t yalgaar_subscribes(char** subscribe_channel,void(* sub_mesg_callback)(char *),void(*presence_mesg_callback)(char *), void(*error_msg_callback)(char *));
nileshvora 1:c233cee7c15b 80 void connection_state(bool ret);
nileshvora 1:c233cee7c15b 81 void yalgaar_loop();
nileshvora 1:c233cee7c15b 82 bool yalgaar_connected();
nileshvora 1:c233cee7c15b 83 void enum_to_message(int error_msg,char *errorString);
nileshvora 1:c233cee7c15b 84 };
nileshvora 1:c233cee7c15b 85 #endif