Yalgaar mBed SDK for real-time messaging
Fork of MQTT by
yalgaar_api.h@5:7dde43328c25, 2017-03-14 (annotated)
- 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?
User | Revision | Line number | New 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 |