Yalgaar mBed SDK for real-time messaging

Dependents:   YalgaarSDK

Fork of MQTT by Joerg Wende

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers yalgaar_api.h Source File

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