1
0
mirror of https://github.com/eclipse/mosquitto.git synced 2025-05-08 16:52:13 +08:00

Add reason_code to on_publish_v5 callback.

This commit is contained in:
Roger Light 2019-01-09 15:48:17 +00:00
parent 740a128769
commit 930a314caf
13 changed files with 16 additions and 15 deletions

View File

@ -264,7 +264,7 @@ int main(int argc, char *argv[])
}
mosquitto_connect_v5_callback_set(mosq, my_connect_callback);
mosquitto_disconnect_v5_callback_set(mosq, my_disconnect_callback);
mosquitto_publish_callback_set(mosq, my_publish_callback);
mosquitto_publish_v5_callback_set(mosq, my_publish_callback);
if(client_opts_set(mosq, &cfg)){
goto cleanup;

View File

@ -52,7 +52,7 @@ void my_disconnect_callback(struct mosquitto *mosq, void *obj, int rc, const mos
connected = false;
}
void my_publish_callback(struct mosquitto *mosq, void *obj, int mid)
void my_publish_callback(struct mosquitto *mosq, void *obj, int mid, int reason_code, const mosquitto_property *properties)
{
last_mid_sent = mid;
if(cfg.pub_mode == MSGMODE_STDIN_LINE){

View File

@ -28,7 +28,7 @@ extern struct mosq_config cfg;
void my_connect_callback(struct mosquitto *mosq, void *obj, int result, int flags, const mosquitto_property *properties);
void my_disconnect_callback(struct mosquitto *mosq, void *obj, int rc, const mosquitto_property *properties);
void my_publish_callback(struct mosquitto *mosq, void *obj, int mid);
void my_publish_callback(struct mosquitto *mosq, void *obj, int mid, int reason_code, const mosquitto_property *properties);
void my_log_callback(struct mosquitto *mosq, void *obj, int level, const char *str);
int load_stdin(void);
int load_file(const char *filename);

View File

@ -53,7 +53,7 @@ void my_signal_handler(int signum)
void print_message(struct mosq_config *cfg, const struct mosquitto_message *message);
void my_message_callback(struct mosquitto *mosq, void *obj, const struct mosquitto_message *message)
void my_message_callback(struct mosquitto *mosq, void *obj, const struct mosquitto_message *message, const mosquitto_property *properties)
{
int i;
bool res;
@ -282,7 +282,7 @@ int main(int argc, char *argv[])
mosquitto_subscribe_callback_set(mosq, my_subscribe_callback);
}
mosquitto_connect_v5_callback_set(mosq, my_connect_callback);
mosquitto_message_callback_set(mosq, my_message_callback);
mosquitto_message_v5_callback_set(mosq, my_message_callback);
rc = client_connect(mosq, &cfg);
if(rc){

View File

@ -62,7 +62,7 @@ void mosquitto_publish_callback_set(struct mosquitto *mosq, void (*on_publish)(s
pthread_mutex_unlock(&mosq->callback_mutex);
}
void mosquitto_publish_v5_callback_set(struct mosquitto *mosq, void (*on_publish)(struct mosquitto *, void *, int, const mosquitto_property *props))
void mosquitto_publish_v5_callback_set(struct mosquitto *mosq, void (*on_publish)(struct mosquitto *, void *, int, int, const mosquitto_property *props))
{
pthread_mutex_lock(&mosq->callback_mutex);
mosq->on_publish_v5 = on_publish;

View File

@ -42,7 +42,7 @@ int handle__pubackcomp(struct mosquitto_db *db, struct mosquitto *mosq, const ch
int handle__pubackcomp(struct mosquitto *mosq, const char *type)
#endif
{
uint8_t reason_code;
uint8_t reason_code = 0;
uint16_t mid;
int rc;
mosquitto_property *properties = NULL;
@ -88,7 +88,7 @@ int handle__pubackcomp(struct mosquitto *mosq, const char *type)
}
if(mosq->on_publish_v5){
mosq->in_callback = true;
mosq->on_publish_v5(mosq, mosq->userdata, mid, properties);
mosq->on_publish_v5(mosq, mosq->userdata, mid, reason_code, properties);
mosq->in_callback = false;
}
pthread_mutex_unlock(&mosq->callback_mutex);

View File

@ -1822,9 +1822,10 @@ libmosq_EXPORT void mosquitto_publish_callback_set(struct mosquitto *mosq, void
* mosq - the mosquitto instance making the callback.
* obj - the user data provided in <mosquitto_new>
* mid - the message id of the sent message.
* reason_code - the MQTT 5 reason code
* props - list of MQTT 5 properties, or NULL
*/
libmosq_EXPORT void mosquitto_publish_v5_callback_set(struct mosquitto *mosq, void (*on_publish)(struct mosquitto *, void *, int, const mosquitto_property *));
libmosq_EXPORT void mosquitto_publish_v5_callback_set(struct mosquitto *mosq, void (*on_publish)(struct mosquitto *, void *, int, int, const mosquitto_property *));
/*
* Function: mosquitto_message_callback_set

View File

@ -259,7 +259,7 @@ struct mosquitto {
void (*on_disconnect)(struct mosquitto *, void *userdata, int rc);
void (*on_disconnect_v5)(struct mosquitto *, void *userdata, int rc, const mosquitto_property *props);
void (*on_publish)(struct mosquitto *, void *userdata, int mid);
void (*on_publish_v5)(struct mosquitto *, void *userdata, int mid, const mosquitto_property *props);
void (*on_publish_v5)(struct mosquitto *, void *userdata, int mid, int reason_code, const mosquitto_property *props);
void (*on_message)(struct mosquitto *, void *userdata, const struct mosquitto_message *message);
void (*on_message_v5)(struct mosquitto *, void *userdata, const struct mosquitto_message *message, const mosquitto_property *props);
void (*on_subscribe)(struct mosquitto *, void *userdata, int mid, int qos_count, const int *granted_qos);

View File

@ -220,7 +220,7 @@ int packet__write(struct mosquitto *mosq)
if(mosq->on_publish_v5){
/* This is a QoS=0 message */
mosq->in_callback = true;
mosq->on_publish_v5(mosq, mosq->userdata, packet->mid, NULL);
mosq->on_publish_v5(mosq, mosq->userdata, packet->mid, 0, NULL);
mosq->in_callback = false;
}
pthread_mutex_unlock(&mosq->callback_mutex);

View File

@ -17,7 +17,7 @@ void on_connect(struct mosquitto *mosq, void *obj, int rc, int flags, const mosq
}
}
void on_publish(struct mosquitto *mosq, void *obj, int mid, const mosquitto_property *properties)
void on_publish(struct mosquitto *mosq, void *obj, int mid, int reason_code, const mosquitto_property *properties)
{
if(mid == 6){
mosquitto_disconnect(mosq);

View File

@ -15,7 +15,7 @@ void on_connect(struct mosquitto *mosq, void *obj, int rc, int flags, const mosq
mosquitto_publish_v5(mosq, NULL, "topic", strlen("accepted"), "accepted", 2, false, NULL);
}
void on_publish(struct mosquitto *mosq, void *obj, int mid, const mosquitto_property *properties)
void on_publish(struct mosquitto *mosq, void *obj, int mid, int reason_code, const mosquitto_property *properties)
{
if(mid == 2){
run = 0;

View File

@ -17,7 +17,7 @@ void on_connect(struct mosquitto *mosq, void *obj, int rc, int flags, const mosq
}
}
void on_publish(struct mosquitto *mosq, void *obj, int mid, const mosquitto_property *properties)
void on_publish(struct mosquitto *mosq, void *obj, int mid, int reason_code, const mosquitto_property *properties)
{
if(mid == 5){
mosquitto_disconnect(mosq);

View File

@ -17,7 +17,7 @@ void on_connect(struct mosquitto *mosq, void *obj, int rc, int flags, const mosq
}
}
void on_publish(struct mosquitto *mosq, void *obj, int mid, const mosquitto_property *properties)
void on_publish(struct mosquitto *mosq, void *obj, int mid, int reason_code, const mosquitto_property *properties)
{
if(mid == 5){
mosquitto_disconnect(mosq);