17#include "tuya_cloud_types.h"
20typedef PVOID_T MQ_HANDLE;
62 IN CONST BYTE_T domain_num,
63 IN CONST USHORT_T serv_port,
64 IN CONST BOOL_T enable_tls,
66 IN CONST USHORT_T s_alive,
68 IN CONST CHAR_T **wakeup_domain_tbl,
69 IN CONST BYTE_T wakeup_domain_num,
70 IN CONST USHORT_T wakeup_serv_port,
87 const char* client_id;
95 const char** wakeup_domain_tbl;
96 uint8_t wakeup_domain_num;
97 uint16_t wakeup_serv_port;
98 char* subscribe_topic;
99 uint16_t s_alive_time_s;
137OPERATE_RET
mqtt_update_auth(IN CONST MQ_HANDLE hand, IN CONST CHAR_T *p_username, IN CONST CHAR_T *p_passwd);
278 IN CONST BYTE_T *data,IN CONST INT_T len,IN CONST UINT_T to_lmt,
337typedef VOID (*
MQ_MSG_RECV_CB)(IN CONST CHAR_T *topic, IN BYTE_T *data,IN UINT_T len);
BOOL_T get_mqtt_conn_stat(IN CONST MQ_HANDLE hand)
Whether MQTT client is connected to broker or not
OPERATE_RET mqtt_subscribe_multi_topics(IN CONST MQ_HANDLE hand, IN CONST CHAR_T *topics[], IN CONST BYTE_T cnt, MQ_MSG_RECV_CB msg_cb, BOOL_T auto_resub)
Subcribe multiple topics within one MQTT request
VOID mq_disconnect(IN CONST MQ_HANDLE hand)
Disconnect MQTT client from broker, will re-connect later
OPERATE_RET mqtt_register_cb(IN CONST MQ_HANDLE hand, IN CONST MQ_CONNED_CB conn_cb, IN CONST MQ_DISCONN_CB dis_conn_cb, IN CONST MQ_CONN_DENY_CB conn_deny_cb, IN CONST MQ_PERMIT_CONN_CB permit_conn_cb, IN CONST MQ_UPDATE_AUTH_CB update_auth_cb)
Register event handers of MQTT client
VOID mqtt_restart(IN CONST MQ_HANDLE hand)
Restart MQTT client
VOID(* MQ_CONNED_CB)(VOID)
MQTT client is connected to broker
Definition: mqtt_client.h:142
VOID(* MQ_MSG_RECV_CB)(IN CONST CHAR_T *topic, IN BYTE_T *data, IN UINT_T len)
Callback when specific MQTT msg recv
Definition: mqtt_client.h:337
INT_T mqtt_get_socket_fd(IN CONST MQ_HANDLE hand)
Retrieve MQTT client socket fd
int create_mqtt_handle_ext(IN p_mqtt_config_t p_mqtt_config, OUT MQ_HANDLE *hand)
创建mqtt client handle
OPERATE_RET mqtt_book_additional_topic(IN CONST MQ_HANDLE hand, IN CONST CHAR_T *topic)
Subcribe an addition topic
OPERATE_RET mqtt_set_alive_time_s(IN CONST USHORT_T time)
Set the default MQTT keep alive time
int mqtt_set_url(IN MQ_HANDLE *hand, IN char *url)
设置mqtt的uri
OPERATE_RET mqtt_unsubscribe_multi_topics(IN CONST MQ_HANDLE hand, IN CONST CHAR_T *topics[], IN CONST BYTE_T cnt)
Unsubcribe multiple topics within one MQTT request
VOID mqtt_close(IN CONST MQ_HANDLE hand)
Close MQTT client socket fd, will re-connect later
struct mqtt_config mqtt_config_t
定义了mqtt client创建需要的配置
VOID(* MQ_PUB_ASYNC_IFM_CB)(IN CONST OPERATE_RET op_ret, IN CONST VOID *prv_data)
Async callback that indicates mqtt_publish_async success or not.
Definition: mqtt_client.h:258
VOID(* MQ_CONN_DENY_CB)(IN BYTE_T deny_times)
MQTT client is not permited to connect to broker
Definition: mqtt_client.h:152
VOID(* MQ_DISCONN_CB)(VOID)
MQTT client is disconnected to broker
Definition: mqtt_client.h:146
INT_T mqtt_get_alive_time_s(IN CONST MQ_HANDLE hand)
Retrieve MQTT PING interval
OPERATE_RET mqtt_update_auth(IN CONST MQ_HANDLE hand, IN CONST CHAR_T *p_username, IN CONST CHAR_T *p_passwd)
Update crenditials of MQTT client
OPERATE_RET mqtt_book_wakeup_topic(IN CONST MQ_HANDLE hand, IN CONST CHAR_T *wakeup_topic)
Subcribe a wakeup topic for lowpower device
OPERATE_RET mqtt_set_connection_linkage(IN CONST MQ_HANDLE hand, netmgr_linkage_t *linkage)
Set customized linakge for mqtt connection
UINT_T mqtt_get_socket_ip(IN CONST MQ_HANDLE hand)
Get MQTT client's IP
VOID(* MQ_DATA_RECV_CB)(IN BYTE_T *data, IN UINT_T len)
MQTT msg is recved from broker
Definition: mqtt_client.h:28
VOID(* MQ_UPDATE_AUTH_CB)(VOID)
Update authentication of MQTT client
Definition: mqtt_client.h:156
VOID release_mqtt_hand(IN CONST MQ_HANDLE hand)
Release MQTT client
OPERATE_RET mqtt_client_quit(IN CONST MQ_HANDLE hand)
Disconnect MQTT client from broker, delete MQTT client thread
OPERATE_RET mqtt_keep_alive(IN CONST MQ_HANDLE hand)
Send MQTT PING msg immediately
OPERATE_RET mqtt_get_connection_linkage(IN CONST MQ_HANDLE hand, netmgr_linkage_t **linkage)
Get current linakge for mqtt connection
OPERATE_RET mqtt_client_start(IN CONST MQ_HANDLE hand, IN CONST CHAR_T *name)
Connect to broker, MQTT client thread is created
OPERATE_RET mqtt_publish_async(IN CONST MQ_HANDLE hand, IN CONST CHAR_T *topic, IN CONST BYTE_T qos, IN CONST BYTE_T *data, IN CONST INT_T len, IN CONST UINT_T to_lmt, IN CONST MQ_PUB_ASYNC_IFM_CB cb, IN VOID *prv_data)
Publish a msg to the specific MQTT topic with QOS level and timeout handler
INT_T(* MQ_PERMIT_CONN_CB)(VOID)
Check permission when connect to broker
Definition: mqtt_client.h:165
OPERATE_RET create_mqtt_hand(IN CONST CHAR_T **domain_tbl, IN CONST BYTE_T domain_num, IN CONST USHORT_T serv_port, IN CONST BOOL_T enable_tls, IN CONST MQ_CLIENT_IF_S *mqc_if, IN CONST USHORT_T s_alive, IN CONST MQ_DATA_RECV_CB recv_cb, IN CONST CHAR_T **wakeup_domain_tbl, IN CONST BYTE_T wakeup_domain_num, IN CONST USHORT_T wakeup_serv_port, OUT MQ_HANDLE *hand)
Create MQTT client instance
Definition of MQTT client's credentials
Definition: mqtt_client.h:33
CHAR_T * subcribe_topic
Definition: mqtt_client.h:35
CHAR_T * passwd
Definition: mqtt_client.h:41
CHAR_T * user_name
Definition: mqtt_client.h:39
CHAR_T * client_id
Definition: mqtt_client.h:37
定义了mqtt client创建需要的配置
Definition: mqtt_client.h:75
size_t cert_len
Definition: mqtt_client.h:85
const char * cert_pem
Definition: mqtt_client.h:84
Definition: tuya_svc_netmgr_linkage.h:53
TUYA network manager service