added mqtt unsubscribe function

This commit is contained in:
Tijn Kooijmans
2017-07-21 21:31:04 +02:00
parent 85b37ee92b
commit be91ed4a2c
2 changed files with 11 additions and 0 deletions

View File

@@ -113,6 +113,7 @@ mqtt_client *mqtt_start(mqtt_settings *mqtt_info);
void mqtt_stop(); void mqtt_stop();
void mqtt_task(void *pvParameters); void mqtt_task(void *pvParameters);
void mqtt_subscribe(mqtt_client *client, const char *topic, uint8_t qos); void mqtt_subscribe(mqtt_client *client, const char *topic, uint8_t qos);
void mqtt_unsubscribe(mqtt_client *client, const char *topic);
void mqtt_publish(mqtt_client* client, const char *topic, const char *data, int len, int qos, int retain); void mqtt_publish(mqtt_client* client, const char *topic, const char *data, int len, int qos, int retain);
void mqtt_destroy(); void mqtt_destroy();
#endif #endif

10
mqtt.c
View File

@@ -595,6 +595,16 @@ void mqtt_subscribe(mqtt_client *client, const char *topic, uint8_t qos)
mqtt_queue(client); mqtt_queue(client);
} }
void mqtt_unsubscribe(mqtt_client *client, const char *topic)
{
client->mqtt_state.outbound_message = mqtt_msg_unsubscribe(&client->mqtt_state.mqtt_connection,
topic,
&client->mqtt_state.pending_msg_id);
mqtt_info("Queue unsubscribe, topic\"%s\", id: %d", topic, client->mqtt_state.pending_msg_id);
mqtt_queue(client);
}
void mqtt_publish(mqtt_client* client, const char *topic, const char *data, int len, int qos, int retain) void mqtt_publish(mqtt_client* client, const char *topic, const char *data, int len, int qos, int retain)
{ {