1 /* 2 * Copyright (C) 2015-2019 Alibaba Group Holding Limited 3 */ 4 5 #include "stdint.h" 6 7 /** 8 * @brief subdev模块内部发生值得用户关注的状态变化时, 通知用户的事件类型 9 */ 10 typedef enum { 11 /** 12 * @brief 非法的应答报文 13 */ 14 MQTT_JSCALLBACK_INVALID_REF, 15 /** 16 * @brief 应答报文的id字段非法 17 */ 18 MQTT_JSCALLBACK_START_CLIENT_REF, 19 /** 20 * @brief 应答报文的id字段非法 21 */ 22 MQTT_JSCALLBACK_SCRIBE_TOPIC_REF, 23 /** 24 * @brief 应答报文的id字段非法 25 */ 26 MQTT_JSCALLBACK_UNSCRIBE_TOPIC_REF, 27 /** 28 * @brief 应答报文的id字段非法 29 */ 30 MQTT_JSCALLBACK_PUBLISH_REF, 31 /** 32 * @brief 应答报文的id字段非法 33 */ 34 MQTT_JSCALLBACK_CLIENT_STOP_REF, 35 /** 36 * @brief 应答报文的code字段非法 37 */ 38 MQTT_JSCALLBACK_INVALID_CODE 39 } amp_mqtt_jscallback_type_t; 40 41 typedef struct amp_mqtt_params { 42 char *host; 43 uint16_t port; 44 char *clientid; 45 char *username; 46 char *password; 47 uint8_t keepaliveSec; 48 int js_cb_ref[MQTT_JSCALLBACK_INVALID_CODE]; 49 int res; 50 } amp_mqtt_params_t; 51 52 typedef struct amp_mqtt_handle { 53 void *mqtt_handle; 54 int js_cb_ref[MQTT_JSCALLBACK_INVALID_CODE]; 55 int res; 56 } amp_mqtt_handle_t; 57 58 /* create mqtt client */ 59 int32_t mqtt_client_start(void **handle, amp_mqtt_params_t *mqtt_params); 60 61 /* destroy mqtt client */ 62 int32_t mqtt_client_stop(void **handle);