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:
parent
740a128769
commit
930a314caf
@ -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;
|
||||
|
@ -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){
|
||||
|
@ -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);
|
||||
|
@ -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){
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user