diff --git a/include/mosquitto/libmosquitto_callbacks.h b/include/mosquitto/libmosquitto_callbacks.h index ad4f99e4..fc74ae86 100644 --- a/include/mosquitto/libmosquitto_callbacks.h +++ b/include/mosquitto/libmosquitto_callbacks.h @@ -61,7 +61,8 @@ extern "C" { * See Also: * */ -libmosq_EXPORT void mosquitto_connect_callback_set(struct mosquitto *mosq, void (*on_connect)(struct mosquitto *, void *, int)); +typedef void (*LIBMOSQ_CB_connect)(struct mosquitto *mosq, void *obj, int rc); +libmosq_EXPORT void mosquitto_connect_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_connect on_connect); /* * Function: mosquitto_connect_with_flags_callback_set @@ -86,7 +87,8 @@ libmosq_EXPORT void mosquitto_connect_callback_set(struct mosquitto *mosq, void * See Also: * */ -libmosq_EXPORT void mosquitto_connect_with_flags_callback_set(struct mosquitto *mosq, void (*on_connect)(struct mosquitto *, void *, int, int)); +typedef void (*LIBMOSQ_CB_connect_with_flags)(struct mosquitto *mosq, void *obj, int rc, int flags); +libmosq_EXPORT void mosquitto_connect_with_flags_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_connect_with_flags on_connect); /* * Function: mosquitto_connect_v5_callback_set @@ -116,7 +118,8 @@ libmosq_EXPORT void mosquitto_connect_with_flags_callback_set(struct mosquitto * * See Also: * */ -libmosq_EXPORT void mosquitto_connect_v5_callback_set(struct mosquitto *mosq, void (*on_connect)(struct mosquitto *, void *, int, int, const mosquitto_property *props)); +typedef void (*LIBMOSQ_CB_connect_v5)(struct mosquitto *mosq, void *obj, int rc, int flags, const mosquitto_property *props); +libmosq_EXPORT void mosquitto_connect_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_connect_v5 on_connect); /* * Function: mosquitto_pre_connect_callback_set @@ -135,7 +138,8 @@ libmosq_EXPORT void mosquitto_connect_v5_callback_set(struct mosquitto *mosq, vo * mosq - the mosquitto instance making the callback. * obj - the user data provided in */ -libmosq_EXPORT void mosquitto_pre_connect_callback_set(struct mosquitto *mosq, void (*on_pre_connect)(struct mosquitto *, void *)); +typedef void (*LIBMOSQ_CB_pre_connect)(struct mosquitto *mosq, void *obj); +libmosq_EXPORT void mosquitto_pre_connect_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_pre_connect on_pre_connect); /* * Function: mosquitto_disconnect_callback_set @@ -155,7 +159,8 @@ libmosq_EXPORT void mosquitto_pre_connect_callback_set(struct mosquitto *mosq, v * means the client has called . Any other value * indicates that the disconnect is unexpected. */ -libmosq_EXPORT void mosquitto_disconnect_callback_set(struct mosquitto *mosq, void (*on_disconnect)(struct mosquitto *, void *, int)); +typedef void (*LIBMOSQ_CB_disconnect)(struct mosquitto *mosq, void *obj, int rc); +libmosq_EXPORT void mosquitto_disconnect_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_disconnect on_disconnect); /* * Function: mosquitto_disconnect_v5_callback_set @@ -180,7 +185,8 @@ libmosq_EXPORT void mosquitto_disconnect_callback_set(struct mosquitto *mosq, vo * indicates that the disconnect is unexpected. * props - list of MQTT 5 properties, or NULL */ -libmosq_EXPORT void mosquitto_disconnect_v5_callback_set(struct mosquitto *mosq, void (*on_disconnect)(struct mosquitto *, void *, int, const mosquitto_property *props)); +typedef void (*LIBMOSQ_CB_disconnect_v5)(struct mosquitto *mosq, void *obj, int rc, const mosquitto_property *props); +libmosq_EXPORT void mosquitto_disconnect_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_disconnect_v5 on_disconnect); /* * Function: mosquitto_publish_callback_set @@ -206,7 +212,8 @@ libmosq_EXPORT void mosquitto_disconnect_v5_callback_set(struct mosquitto *mosq, * obj - the user data provided in * mid - the message id of the sent message. */ -libmosq_EXPORT void mosquitto_publish_callback_set(struct mosquitto *mosq, void (*on_publish)(struct mosquitto *, void *, int)); +typedef void (*LIBMOSQ_CB_publish)(struct mosquitto *mosq, void *obj, int mid); +libmosq_EXPORT void mosquitto_publish_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_publish on_publish); /* * Function: mosquitto_publish_v5_callback_set @@ -241,7 +248,8 @@ libmosq_EXPORT void mosquitto_publish_callback_set(struct mosquitto *mosq, void * 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, int, const mosquitto_property *props)); +typedef void (*LIBMOSQ_CB_publish_v5)(struct mosquitto *mosq, void *obj, int mid, int reason_code, const mosquitto_property *props); +libmosq_EXPORT void mosquitto_publish_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_publish_v5 on_publish); /* * Function: mosquitto_message_callback_set @@ -264,7 +272,8 @@ libmosq_EXPORT void mosquitto_publish_v5_callback_set(struct mosquitto *mosq, vo * See Also: * */ -libmosq_EXPORT void mosquitto_message_callback_set(struct mosquitto *mosq, void (*on_message)(struct mosquitto *, void *, const struct mosquitto_message *)); +typedef void (*LIBMOSQ_CB_message)(struct mosquitto *mosq, void *obj, const struct mosquitto_message *message); +libmosq_EXPORT void mosquitto_message_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_message on_message); /* * Function: mosquitto_message_v5_callback_set @@ -292,7 +301,8 @@ libmosq_EXPORT void mosquitto_message_callback_set(struct mosquitto *mosq, void * See Also: * */ -libmosq_EXPORT void mosquitto_message_v5_callback_set(struct mosquitto *mosq, void (*on_message)(struct mosquitto *, void *, const struct mosquitto_message *, const mosquitto_property *props)); +typedef void (*LIBMOSQ_CB_message_v5)(struct mosquitto *mosq, void *obj, const struct mosquitto_message *message, const mosquitto_property *props); +libmosq_EXPORT void mosquitto_message_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_message_v5 on_message); /* * Function: mosquitto_subscribe_callback_set @@ -313,7 +323,8 @@ libmosq_EXPORT void mosquitto_message_v5_callback_set(struct mosquitto *mosq, vo * granted_qos - an array of integers indicating the granted QoS for each of * the subscriptions. */ -libmosq_EXPORT void mosquitto_subscribe_callback_set(struct mosquitto *mosq, void (*on_subscribe)(struct mosquitto *, void *, int, int, const int *)); +typedef void (*LIBMOSQ_CB_subscribe)(struct mosquitto *mosq, void *obj, int mid, int qos_count, const int *granted_qos); +libmosq_EXPORT void mosquitto_subscribe_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_subscribe on_subscribe); /* * Function: mosquitto_subscribe_v5_callback_set @@ -339,7 +350,8 @@ libmosq_EXPORT void mosquitto_subscribe_callback_set(struct mosquitto *mosq, voi * the subscriptions. * props - list of MQTT 5 properties, or NULL */ -libmosq_EXPORT void mosquitto_subscribe_v5_callback_set(struct mosquitto *mosq, void (*on_subscribe)(struct mosquitto *, void *, int, int, const int *, const mosquitto_property *props)); +typedef void (*LIBMOSQ_CB_subscribe_v5)(struct mosquitto *mosq, void *obj, int mid, int qos_count, const int *granted_qos, const mosquitto_property *props); +libmosq_EXPORT void mosquitto_subscribe_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_subscribe_v5 on_subscribe); /* * Function: mosquitto_unsubscribe_callback_set @@ -357,7 +369,8 @@ libmosq_EXPORT void mosquitto_subscribe_v5_callback_set(struct mosquitto *mosq, * obj - the user data provided in * mid - the message id of the unsubscribe message. */ -libmosq_EXPORT void mosquitto_unsubscribe_callback_set(struct mosquitto *mosq, void (*on_unsubscribe)(struct mosquitto *, void *, int)); +typedef void (*LIBMOSQ_CB_unsubscribe)(struct mosquitto *mosq, void *obj, int mid); +libmosq_EXPORT void mosquitto_unsubscribe_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_unsubscribe on_unsubscribe); /* * Function: mosquitto_unsubscribe_v5_callback_set @@ -380,7 +393,8 @@ libmosq_EXPORT void mosquitto_unsubscribe_callback_set(struct mosquitto *mosq, v * mid - the message id of the unsubscribe message. * props - list of MQTT 5 properties, or NULL */ -libmosq_EXPORT void mosquitto_unsubscribe_v5_callback_set(struct mosquitto *mosq, void (*on_unsubscribe)(struct mosquitto *, void *, int, const mosquitto_property *props)); +typedef void (*LIBMOSQ_CB_unsubscribe_v5)(struct mosquitto *mosq, void *obj, int mid, const mosquitto_property *props); +libmosq_EXPORT void mosquitto_unsubscribe_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_unsubscribe_v5 on_unsubscribe); /* * Function: mosquitto_unsubscribe2_v5_callback_set @@ -408,7 +422,8 @@ libmosq_EXPORT void mosquitto_unsubscribe_v5_callback_set(struct mosquitto *mosq * mid - the message id of the unsubscribe message. * props - list of MQTT 5 properties, or NULL */ -libmosq_EXPORT void mosquitto_unsubscribe2_v5_callback_set(struct mosquitto *mosq, void (*on_unsubscribe)(struct mosquitto *, void *, int, int, const int *, const mosquitto_property *props)); +typedef void (*LIBMOSQ_CB_unsubscribe2_v5)(struct mosquitto *mosq, void *obj, int mid, int reason_code_count, const int *reason_codes, const mosquitto_property *props); +libmosq_EXPORT void mosquitto_unsubscribe2_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_unsubscribe2_v5 on_unsubscribe); /* * Function: mosquitto_ext_auth_callback_set @@ -440,7 +455,8 @@ libmosq_EXPORT void mosquitto_unsubscribe2_v5_callback_set(struct mosquitto *mos * See Also: * */ -libmosq_EXPORT void mosquitto_ext_auth_callback_set(struct mosquitto *mosq, int (*on_auth)(struct mosquitto *, void *, const char *, uint16_t, const void *, const mosquitto_property *props)); +typedef int (*LIBMOSQ_CB_ext_auth)(struct mosquitto *mosq, void *obj, const char *auth_method, uint16_t auth_data_len, const void *auth_data, const mosquitto_property *props); +libmosq_EXPORT void mosquitto_ext_auth_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_ext_auth on_ext_auth); /* * Function: mosquitto_log_callback_set @@ -463,7 +479,8 @@ libmosq_EXPORT void mosquitto_ext_auth_callback_set(struct mosquitto *mosq, int * MOSQ_LOG_DEBUG * str - the message string. */ -libmosq_EXPORT void mosquitto_log_callback_set(struct mosquitto *mosq, void (*on_log)(struct mosquitto *, void *, int, const char *)); +typedef void (*LIBMOSQ_CB_log)(struct mosquitto *mosq, void *obj, int level, const char *str); +libmosq_EXPORT void mosquitto_log_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_log on_log); #ifdef __cplusplus } diff --git a/lib/callbacks.c b/lib/callbacks.c index a8eff182..59900a03 100644 --- a/lib/callbacks.c +++ b/lib/callbacks.c @@ -23,112 +23,112 @@ Contributors: #include "mosquitto_internal.h" -void mosquitto_connect_callback_set(struct mosquitto *mosq, void (*on_connect)(struct mosquitto *, void *, int)) +void mosquitto_connect_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_connect on_connect) { COMPAT_pthread_mutex_lock(&mosq->callback_mutex); mosq->on_connect = on_connect; COMPAT_pthread_mutex_unlock(&mosq->callback_mutex); } -void mosquitto_connect_with_flags_callback_set(struct mosquitto *mosq, void (*on_connect)(struct mosquitto *, void *, int, int)) +void mosquitto_connect_with_flags_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_connect_with_flags on_connect) { COMPAT_pthread_mutex_lock(&mosq->callback_mutex); mosq->on_connect_with_flags = on_connect; COMPAT_pthread_mutex_unlock(&mosq->callback_mutex); } -void mosquitto_connect_v5_callback_set(struct mosquitto *mosq, void (*on_connect)(struct mosquitto *, void *, int, int, const mosquitto_property *)) +void mosquitto_connect_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_connect_v5 on_connect) { COMPAT_pthread_mutex_lock(&mosq->callback_mutex); mosq->on_connect_v5 = on_connect; COMPAT_pthread_mutex_unlock(&mosq->callback_mutex); } -void mosquitto_pre_connect_callback_set(struct mosquitto *mosq, void (*on_pre_connect)(struct mosquitto *, void *)) +void mosquitto_pre_connect_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_pre_connect on_pre_connect) { COMPAT_pthread_mutex_lock(&mosq->callback_mutex); mosq->on_pre_connect = on_pre_connect; COMPAT_pthread_mutex_unlock(&mosq->callback_mutex); } -void mosquitto_disconnect_callback_set(struct mosquitto *mosq, void (*on_disconnect)(struct mosquitto *, void *, int)) +void mosquitto_disconnect_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_disconnect on_disconnect) { COMPAT_pthread_mutex_lock(&mosq->callback_mutex); mosq->on_disconnect = on_disconnect; COMPAT_pthread_mutex_unlock(&mosq->callback_mutex); } -void mosquitto_disconnect_v5_callback_set(struct mosquitto *mosq, void (*on_disconnect)(struct mosquitto *, void *, int, const mosquitto_property *)) +void mosquitto_disconnect_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_disconnect_v5 on_disconnect) { COMPAT_pthread_mutex_lock(&mosq->callback_mutex); mosq->on_disconnect_v5 = on_disconnect; COMPAT_pthread_mutex_unlock(&mosq->callback_mutex); } -void mosquitto_publish_callback_set(struct mosquitto *mosq, void (*on_publish)(struct mosquitto *, void *, int)) +void mosquitto_publish_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_publish on_publish) { COMPAT_pthread_mutex_lock(&mosq->callback_mutex); mosq->on_publish = on_publish; COMPAT_pthread_mutex_unlock(&mosq->callback_mutex); } -void mosquitto_publish_v5_callback_set(struct mosquitto *mosq, void (*on_publish)(struct mosquitto *, void *, int, int, const mosquitto_property *props)) +void mosquitto_publish_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_publish_v5 on_publish) { COMPAT_pthread_mutex_lock(&mosq->callback_mutex); mosq->on_publish_v5 = on_publish; COMPAT_pthread_mutex_unlock(&mosq->callback_mutex); } -void mosquitto_message_callback_set(struct mosquitto *mosq, void (*on_message)(struct mosquitto *, void *, const struct mosquitto_message *)) +void mosquitto_message_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_message on_message) { COMPAT_pthread_mutex_lock(&mosq->callback_mutex); mosq->on_message = on_message; COMPAT_pthread_mutex_unlock(&mosq->callback_mutex); } -void mosquitto_message_v5_callback_set(struct mosquitto *mosq, void (*on_message)(struct mosquitto *, void *, const struct mosquitto_message *, const mosquitto_property *props)) +void mosquitto_message_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_message_v5 on_message) { COMPAT_pthread_mutex_lock(&mosq->callback_mutex); mosq->on_message_v5 = on_message; COMPAT_pthread_mutex_unlock(&mosq->callback_mutex); } -void mosquitto_subscribe_callback_set(struct mosquitto *mosq, void (*on_subscribe)(struct mosquitto *, void *, int, int, const int *)) +void mosquitto_subscribe_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_subscribe on_subscribe) { COMPAT_pthread_mutex_lock(&mosq->callback_mutex); mosq->on_subscribe = on_subscribe; COMPAT_pthread_mutex_unlock(&mosq->callback_mutex); } -void mosquitto_subscribe_v5_callback_set(struct mosquitto *mosq, void (*on_subscribe)(struct mosquitto *, void *, int, int, const int *, const mosquitto_property *props)) +void mosquitto_subscribe_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_subscribe_v5 on_subscribe) { COMPAT_pthread_mutex_lock(&mosq->callback_mutex); mosq->on_subscribe_v5 = on_subscribe; COMPAT_pthread_mutex_unlock(&mosq->callback_mutex); } -void mosquitto_unsubscribe_callback_set(struct mosquitto *mosq, void (*on_unsubscribe)(struct mosquitto *, void *, int)) +void mosquitto_unsubscribe_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_unsubscribe on_unsubscribe) { COMPAT_pthread_mutex_lock(&mosq->callback_mutex); mosq->on_unsubscribe = on_unsubscribe; COMPAT_pthread_mutex_unlock(&mosq->callback_mutex); } -void mosquitto_unsubscribe_v5_callback_set(struct mosquitto *mosq, void (*on_unsubscribe)(struct mosquitto *, void *, int, const mosquitto_property *props)) +void mosquitto_unsubscribe_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_unsubscribe_v5 on_unsubscribe) { COMPAT_pthread_mutex_lock(&mosq->callback_mutex); mosq->on_unsubscribe_v5 = on_unsubscribe; COMPAT_pthread_mutex_unlock(&mosq->callback_mutex); } -void mosquitto_unsubscribe2_v5_callback_set(struct mosquitto *mosq, void (*on_unsubscribe)(struct mosquitto *, void *, int, int, const int *, const mosquitto_property *props)) +void mosquitto_unsubscribe2_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_unsubscribe2_v5 on_unsubscribe) { COMPAT_pthread_mutex_lock(&mosq->callback_mutex); mosq->on_unsubscribe2_v5 = on_unsubscribe; COMPAT_pthread_mutex_unlock(&mosq->callback_mutex); } -void mosquitto_log_callback_set(struct mosquitto *mosq, void (*on_log)(struct mosquitto *, void *, int, const char *)) +void mosquitto_log_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_log on_log) { COMPAT_pthread_mutex_lock(&mosq->log_callback_mutex); mosq->on_log = on_log; @@ -136,7 +136,7 @@ void mosquitto_log_callback_set(struct mosquitto *mosq, void (*on_log)(struct mo } -void mosquitto_ext_auth_callback_set(struct mosquitto *mosq, int (*on_ext_auth)(struct mosquitto *, void *, const char *, uint16_t, const void *, const mosquitto_property *props)) +void mosquitto_ext_auth_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_ext_auth on_ext_auth) { pthread_mutex_lock(&mosq->callback_mutex); mosq->on_ext_auth = on_ext_auth; @@ -146,7 +146,7 @@ void mosquitto_ext_auth_callback_set(struct mosquitto *mosq, int (*on_ext_auth)( void callback__on_pre_connect(struct mosquitto *mosq) { - void (*on_pre_connect)(struct mosquitto *, void *userdata); + LIBMOSQ_CB_pre_connect on_pre_connect; COMPAT_pthread_mutex_lock(&mosq->callback_mutex); on_pre_connect = mosq->on_pre_connect; @@ -162,9 +162,9 @@ void callback__on_pre_connect(struct mosquitto *mosq) void callback__on_connect(struct mosquitto *mosq, uint8_t reason_code, uint8_t connect_flags, const mosquitto_property *properties) { - void (*on_connect)(struct mosquitto *, void *userdata, int rc); - void (*on_connect_with_flags)(struct mosquitto *, void *userdata, int rc, int flags); - void (*on_connect_v5)(struct mosquitto *, void *userdata, int rc, int flags, const mosquitto_property *props); + LIBMOSQ_CB_connect on_connect; + LIBMOSQ_CB_connect_with_flags on_connect_with_flags; + LIBMOSQ_CB_connect_v5 on_connect_v5; COMPAT_pthread_mutex_lock(&mosq->callback_mutex); on_connect = mosq->on_connect; @@ -188,8 +188,8 @@ void callback__on_connect(struct mosquitto *mosq, uint8_t reason_code, uint8_t c void callback__on_publish(struct mosquitto *mosq, int mid, int reason_code, const mosquitto_property *properties) { - void (*on_publish)(struct mosquitto *, void *userdata, int mid); - void (*on_publish_v5)(struct mosquitto *, void *userdata, int mid, int reason_code, const mosquitto_property *props); + LIBMOSQ_CB_publish on_publish; + LIBMOSQ_CB_publish_v5 on_publish_v5; COMPAT_pthread_mutex_lock(&mosq->callback_mutex); on_publish = mosq->on_publish; @@ -209,8 +209,8 @@ void callback__on_publish(struct mosquitto *mosq, int mid, int reason_code, cons void callback__on_message(struct mosquitto *mosq, const struct mosquitto_message *message, const mosquitto_property *properties) { - 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); + LIBMOSQ_CB_message on_message; + LIBMOSQ_CB_message_v5 on_message_v5; COMPAT_pthread_mutex_lock(&mosq->callback_mutex); on_message = mosq->on_message; @@ -230,8 +230,8 @@ void callback__on_message(struct mosquitto *mosq, const struct mosquitto_message void callback__on_subscribe(struct mosquitto *mosq, int mid, int qos_count, const int *granted_qos, const mosquitto_property *properties) { - void (*on_subscribe)(struct mosquitto *, void *userdata, int mid, int qos_count, const int *granted_qos) = NULL; - void (*on_subscribe_v5)(struct mosquitto *, void *userdata, int mid, int qos_count, const int *granted_qos, const mosquitto_property *props) = NULL; + LIBMOSQ_CB_subscribe on_subscribe; + LIBMOSQ_CB_subscribe_v5 on_subscribe_v5; COMPAT_pthread_mutex_lock(&mosq->callback_mutex); on_subscribe = mosq->on_subscribe; @@ -251,9 +251,9 @@ void callback__on_subscribe(struct mosquitto *mosq, int mid, int qos_count, cons void callback__on_unsubscribe(struct mosquitto *mosq, int mid, int reason_code_count, const int *reason_codes, const mosquitto_property *properties) { - void (*on_unsubscribe)(struct mosquitto *, void *userdata, int mid) = NULL; - void (*on_unsubscribe_v5)(struct mosquitto *, void *userdata, int mid, const mosquitto_property *props) = NULL; - void (*on_unsubscribe2_v5)(struct mosquitto *, void *userdata, int mid, int reason_code_count, const int *reason_codes, const mosquitto_property *props) = NULL; + LIBMOSQ_CB_unsubscribe on_unsubscribe; + LIBMOSQ_CB_unsubscribe_v5 on_unsubscribe_v5; + LIBMOSQ_CB_unsubscribe2_v5 on_unsubscribe2_v5; COMPAT_pthread_mutex_lock(&mosq->callback_mutex); on_unsubscribe = mosq->on_unsubscribe; @@ -277,8 +277,8 @@ void callback__on_unsubscribe(struct mosquitto *mosq, int mid, int reason_code_c void callback__on_disconnect(struct mosquitto *mosq, int rc, const mosquitto_property *properties) { - void (*on_disconnect)(struct mosquitto *, void *, int) = NULL; - void (*on_disconnect_v5)(struct mosquitto *, void *, int, const mosquitto_property *) = NULL; + LIBMOSQ_CB_disconnect on_disconnect; + LIBMOSQ_CB_disconnect_v5 on_disconnect_v5; COMPAT_pthread_mutex_lock(&mosq->callback_mutex); on_disconnect = mosq->on_disconnect; @@ -298,7 +298,7 @@ void callback__on_disconnect(struct mosquitto *mosq, int rc, const mosquitto_pro int callback__on_ext_auth(struct mosquitto *mosq, const char *auth_method, uint16_t auth_data_len, const void *auth_data, const mosquitto_property *properties) { int rc = MOSQ_ERR_AUTH; - int (*on_ext_auth)(struct mosquitto *, void *userdata, const char *, uint16_t, const void *, const mosquitto_property *props); + LIBMOSQ_CB_ext_auth on_ext_auth; pthread_mutex_lock(&mosq->callback_mutex); on_ext_auth = mosq->on_ext_auth; diff --git a/lib/mosquitto_internal.h b/lib/mosquitto_internal.h index 64d20fb8..9e1ff897 100644 --- a/lib/mosquitto_internal.h +++ b/lib/mosquitto_internal.h @@ -396,23 +396,23 @@ struct mosquitto { void *userdata; struct mosquitto_msg_data msgs_in; struct mosquitto_msg_data msgs_out; - void (*on_pre_connect)(struct mosquitto *, void *userdata); - void (*on_connect)(struct mosquitto *, void *userdata, int rc); - void (*on_connect_with_flags)(struct mosquitto *, void *userdata, int rc, int flags); - void (*on_connect_v5)(struct mosquitto *, void *userdata, int rc, int flags, const mosquitto_property *props); - 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, 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); - void (*on_subscribe_v5)(struct mosquitto *, void *userdata, int mid, int qos_count, const int *granted_qos, const mosquitto_property *props); - void (*on_unsubscribe)(struct mosquitto *, void *userdata, int mid); - void (*on_unsubscribe_v5)(struct mosquitto *, void *userdata, int mid, const mosquitto_property *props); - void (*on_unsubscribe2_v5)(struct mosquitto *, void *userdata, int mid, int reason_code_count, const int *reason_codes, const mosquitto_property *props); - int (*on_ext_auth)(struct mosquitto *, void *userdata, const char *auth_method, uint16_t auth_data_len, const void *auth_data, const mosquitto_property *props); - void (*on_log)(struct mosquitto *, void *userdata, int level, const char *str); + LIBMOSQ_CB_pre_connect on_pre_connect; + LIBMOSQ_CB_connect on_connect; + LIBMOSQ_CB_connect_with_flags on_connect_with_flags; + LIBMOSQ_CB_connect_v5 on_connect_v5; + LIBMOSQ_CB_disconnect on_disconnect; + LIBMOSQ_CB_disconnect_v5 on_disconnect_v5; + LIBMOSQ_CB_publish on_publish; + LIBMOSQ_CB_publish_v5 on_publish_v5; + LIBMOSQ_CB_message on_message; + LIBMOSQ_CB_message_v5 on_message_v5; + LIBMOSQ_CB_subscribe on_subscribe; + LIBMOSQ_CB_subscribe_v5 on_subscribe_v5; + LIBMOSQ_CB_unsubscribe on_unsubscribe; + LIBMOSQ_CB_unsubscribe_v5 on_unsubscribe_v5; + LIBMOSQ_CB_unsubscribe2_v5 on_unsubscribe2_v5; + LIBMOSQ_CB_ext_auth on_ext_auth; + LIBMOSQ_CB_log on_log; /*void (*on_error)();*/ char *host; char *bind_address; diff --git a/test/apps/ctrl/ctrl_shell_broker_test.cpp b/test/apps/ctrl/ctrl_shell_broker_test.cpp index f3d3e55e..6e14403c 100644 --- a/test/apps/ctrl/ctrl_shell_broker_test.cpp +++ b/test/apps/ctrl/ctrl_shell_broker_test.cpp @@ -21,11 +21,6 @@ Copyright (c) 2022 Cedalo GmbH namespace t = testing; -typedef void (*LIBMOSQ_FUNC_connect_callback)(struct mosquitto *, void *, int); -typedef void (*LIBMOSQ_FUNC_message_callback)(struct mosquitto *, void *, const struct mosquitto_message *); -typedef void (*LIBMOSQ_FUNC_subscribe_callback)(struct mosquitto *, void *, int, int, const int *); -typedef void (*LIBMOSQ_FUNC_publish_v5_callback)(struct mosquitto *, void *, int, int, const mosquitto_property *); - struct pending_payload{ struct pending_payload *next, *prev; char payload[1024]; @@ -38,10 +33,10 @@ class CtrlShellBrokerTest : public ::t::Test ::t::StrictMock editline_mock_{}; ::t::StrictMock libmosquitto_mock_{}; ::t::StrictMock pthread_mock_{}; - LIBMOSQ_FUNC_connect_callback on_connect{}; - LIBMOSQ_FUNC_message_callback on_message{}; - LIBMOSQ_FUNC_subscribe_callback on_subscribe{}; - LIBMOSQ_FUNC_publish_v5_callback on_publish{}; + LIBMOSQ_CB_connect on_connect{}; + LIBMOSQ_CB_message on_message{}; + LIBMOSQ_CB_subscribe on_subscribe{}; + LIBMOSQ_CB_publish_v5 on_publish{}; struct pending_payload *pending_payloads = nullptr; void expect_setup(struct mosq_config *config) @@ -60,16 +55,16 @@ class CtrlShellBrokerTest : public ::t::Test EXPECT_CALL(libmosquitto_mock_, mosquitto_new(t::Eq(nullptr), t::Eq(true), t::Eq(nullptr))) .WillOnce(t::Return(mosq)); EXPECT_CALL(libmosquitto_mock_, mosquitto_int_option(t::Eq(mosq), MOSQ_OPT_PROTOCOL_VERSION, 5)); - EXPECT_CALL(libmosquitto_mock_, mosquitto_subscribe_callback_set(t::Eq(mosq), t::A())) + EXPECT_CALL(libmosquitto_mock_, mosquitto_subscribe_callback_set(t::Eq(mosq), t::A())) .WillRepeatedly(t::SaveArg<1>(&this->on_subscribe)); - EXPECT_CALL(libmosquitto_mock_, mosquitto_publish_v5_callback_set(t::Eq(mosq), t::A())) + EXPECT_CALL(libmosquitto_mock_, mosquitto_publish_v5_callback_set(t::Eq(mosq), t::A())) .WillRepeatedly(t::SaveArg<1>(&this->on_publish)); EXPECT_CALL(libmosquitto_mock_, mosquitto_connect(t::Eq(mosq), t::StrEq(host), port, 60)); EXPECT_CALL(libmosquitto_mock_, mosquitto_loop_start(t::Eq(mosq))); - EXPECT_CALL(libmosquitto_mock_, mosquitto_connect_callback_set(t::Eq(mosq), t::A())) + EXPECT_CALL(libmosquitto_mock_, mosquitto_connect_callback_set(t::Eq(mosq), t::A())) .WillRepeatedly(t::SaveArg<1>(&this->on_connect)); - EXPECT_CALL(libmosquitto_mock_, mosquitto_message_callback_set(t::Eq(mosq), t::A())) + EXPECT_CALL(libmosquitto_mock_, mosquitto_message_callback_set(t::Eq(mosq), t::A())) .WillOnce(t::SaveArg<1>(&this->on_message)); } diff --git a/test/apps/ctrl/ctrl_shell_completion_test.cpp b/test/apps/ctrl/ctrl_shell_completion_test.cpp index 2277f177..8cac84bd 100644 --- a/test/apps/ctrl/ctrl_shell_completion_test.cpp +++ b/test/apps/ctrl/ctrl_shell_completion_test.cpp @@ -26,9 +26,6 @@ extern "C" { namespace t = testing; -typedef void (*LIBMOSQ_FUNC_connect_callback)(struct mosquitto *, void *, int); -typedef void (*LIBMOSQ_FUNC_message_callback)(struct mosquitto *, void *, const struct mosquitto_message *); - class CtrlShellCompletionTest : public ::t::Test { public: diff --git a/test/apps/ctrl/ctrl_shell_dynsec_test.cpp b/test/apps/ctrl/ctrl_shell_dynsec_test.cpp index 8ee47153..9b1da3fd 100644 --- a/test/apps/ctrl/ctrl_shell_dynsec_test.cpp +++ b/test/apps/ctrl/ctrl_shell_dynsec_test.cpp @@ -21,9 +21,6 @@ Copyright (c) 2022 Cedalo GmbH namespace t = testing; -typedef void (*LIBMOSQ_FUNC_connect_callback)(struct mosquitto *, void *, int); -typedef void (*LIBMOSQ_FUNC_message_callback)(struct mosquitto *, void *, const struct mosquitto_message *); - struct pending_payload{ struct pending_payload *next, *prev; char payload[1024]; @@ -36,8 +33,8 @@ class CtrlShellDynsecTest : public ::t::Test ::t::StrictMock editline_mock_{}; ::t::StrictMock libmosquitto_mock_{}; ::t::StrictMock pthread_mock_{}; - LIBMOSQ_FUNC_connect_callback on_connect{}; - LIBMOSQ_FUNC_message_callback on_message{}; + LIBMOSQ_CB_connect on_connect{}; + LIBMOSQ_CB_message on_message{}; struct pending_payload *pending_payloads = nullptr; void expect_setup(struct mosq_config *config) @@ -61,9 +58,9 @@ class CtrlShellDynsecTest : public ::t::Test EXPECT_CALL(libmosquitto_mock_, mosquitto_connect(t::Eq(mosq), t::StrEq(host), port, 60)); EXPECT_CALL(libmosquitto_mock_, mosquitto_loop_start(t::Eq(mosq))); - EXPECT_CALL(libmosquitto_mock_, mosquitto_connect_callback_set(t::Eq(mosq), t::A())) + EXPECT_CALL(libmosquitto_mock_, mosquitto_connect_callback_set(t::Eq(mosq), t::A())) .WillRepeatedly(t::SaveArg<1>(&this->on_connect)); - EXPECT_CALL(libmosquitto_mock_, mosquitto_message_callback_set(t::Eq(mosq), t::A())) + EXPECT_CALL(libmosquitto_mock_, mosquitto_message_callback_set(t::Eq(mosq), t::A())) .WillOnce(t::SaveArg<1>(&this->on_message)); } diff --git a/test/apps/ctrl/ctrl_shell_help_test.cpp b/test/apps/ctrl/ctrl_shell_help_test.cpp index dda7b898..dbf059b4 100644 --- a/test/apps/ctrl/ctrl_shell_help_test.cpp +++ b/test/apps/ctrl/ctrl_shell_help_test.cpp @@ -20,9 +20,6 @@ Copyright (c) 2022 Cedalo GmbH namespace t = testing; -typedef void (*LIBMOSQ_FUNC_connect_callback)(struct mosquitto *, void *, int); -typedef void (*LIBMOSQ_FUNC_message_callback)(struct mosquitto *, void *, const struct mosquitto_message *); - class CtrlShellHelpTest : public ::t::Test { public: @@ -30,8 +27,8 @@ class CtrlShellHelpTest : public ::t::Test ::t::StrictMock editline_mock_{}; ::t::StrictMock libmosquitto_mock_{}; ::t::StrictMock pthread_mock_{}; - LIBMOSQ_FUNC_connect_callback on_connect{}; - LIBMOSQ_FUNC_message_callback on_message{}; + LIBMOSQ_CB_connect on_connect{}; + LIBMOSQ_CB_message on_message{}; void expect_setup(struct mosq_config *config) { @@ -54,9 +51,9 @@ class CtrlShellHelpTest : public ::t::Test EXPECT_CALL(libmosquitto_mock_, mosquitto_connect(t::Eq(mosq), t::StrEq(host), port, 60)); EXPECT_CALL(libmosquitto_mock_, mosquitto_loop_start(t::Eq(mosq))); - EXPECT_CALL(libmosquitto_mock_, mosquitto_connect_callback_set(t::Eq(mosq), t::A())) + EXPECT_CALL(libmosquitto_mock_, mosquitto_connect_callback_set(t::Eq(mosq), t::A())) .WillRepeatedly(t::SaveArg<1>(&this->on_connect)); - EXPECT_CALL(libmosquitto_mock_, mosquitto_message_callback_set(t::Eq(mosq), t::A())) + EXPECT_CALL(libmosquitto_mock_, mosquitto_message_callback_set(t::Eq(mosq), t::A())) .WillOnce(t::SaveArg<1>(&this->on_message)); } diff --git a/test/apps/ctrl/ctrl_shell_options_test.cpp b/test/apps/ctrl/ctrl_shell_options_test.cpp index 8d75297f..3381cdbc 100644 --- a/test/apps/ctrl/ctrl_shell_options_test.cpp +++ b/test/apps/ctrl/ctrl_shell_options_test.cpp @@ -21,9 +21,6 @@ Copyright (c) 2022 Cedalo GmbH namespace t = testing; -typedef void (*LIBMOSQ_FUNC_connect_callback)(struct mosquitto *, void *, int); -typedef void (*LIBMOSQ_FUNC_message_callback)(struct mosquitto *, void *, const struct mosquitto_message *); - struct pending_payload{ struct pending_payload *next, *prev; char payload[1024]; @@ -36,8 +33,8 @@ class CtrlShellOptionsTest : public ::t::Test ::t::StrictMock editline_mock_{}; ::t::StrictMock libmosquitto_mock_{}; ::t::StrictMock pthread_mock_{}; - LIBMOSQ_FUNC_connect_callback on_connect{}; - LIBMOSQ_FUNC_message_callback on_message{}; + LIBMOSQ_CB_connect on_connect{}; + LIBMOSQ_CB_message on_message{}; struct pending_payload *pending_payloads = nullptr; void expect_setup(struct mosq_config *config) @@ -62,9 +59,9 @@ class CtrlShellOptionsTest : public ::t::Test EXPECT_CALL(libmosquitto_mock_, mosquitto_connect(t::Eq(mosq), t::StrEq(host), port, 60)); EXPECT_CALL(libmosquitto_mock_, mosquitto_loop_start(t::Eq(mosq))); - EXPECT_CALL(libmosquitto_mock_, mosquitto_connect_callback_set(t::Eq(mosq), t::A())) + EXPECT_CALL(libmosquitto_mock_, mosquitto_connect_callback_set(t::Eq(mosq), t::A())) .WillRepeatedly(t::SaveArg<1>(&this->on_connect)); - EXPECT_CALL(libmosquitto_mock_, mosquitto_message_callback_set(t::Eq(mosq), t::A())) + EXPECT_CALL(libmosquitto_mock_, mosquitto_message_callback_set(t::Eq(mosq), t::A())) .WillOnce(t::SaveArg<1>(&this->on_message)); } diff --git a/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp b/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp index 13e490b2..86baa17d 100644 --- a/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp +++ b/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp @@ -20,9 +20,6 @@ Copyright (c) 2022 Cedalo GmbH namespace t = testing; -typedef void (*LIBMOSQ_FUNC_connect_callback)(struct mosquitto *, void *, int); -typedef void (*LIBMOSQ_FUNC_message_callback)(struct mosquitto *, void *, const struct mosquitto_message *); - class CtrlShellPreConnectTest : public ::t::Test { public: @@ -30,8 +27,8 @@ class CtrlShellPreConnectTest : public ::t::Test ::t::StrictMock editline_mock_{}; ::t::StrictMock libmosquitto_mock_{}; ::t::StrictMock pthread_mock_{}; - LIBMOSQ_FUNC_connect_callback on_connect{}; - LIBMOSQ_FUNC_message_callback on_message{}; + LIBMOSQ_CB_connect on_connect{}; + LIBMOSQ_CB_message on_message{}; void expect_setup(struct mosq_config *config) { @@ -54,9 +51,9 @@ class CtrlShellPreConnectTest : public ::t::Test EXPECT_CALL(libmosquitto_mock_, mosquitto_connect(t::Eq(mosq), t::StrEq(host), port, 60)); EXPECT_CALL(libmosquitto_mock_, mosquitto_loop_start(t::Eq(mosq))); - EXPECT_CALL(libmosquitto_mock_, mosquitto_connect_callback_set(t::Eq(mosq), t::A())) + EXPECT_CALL(libmosquitto_mock_, mosquitto_connect_callback_set(t::Eq(mosq), t::A())) .WillRepeatedly(t::SaveArg<1>(&this->on_connect)); - EXPECT_CALL(libmosquitto_mock_, mosquitto_message_callback_set(t::Eq(mosq), t::A())) + EXPECT_CALL(libmosquitto_mock_, mosquitto_message_callback_set(t::Eq(mosq), t::A())) .WillOnce(t::SaveArg<1>(&this->on_message)); } diff --git a/test/apps/ctrl/ctrl_shell_test.cpp b/test/apps/ctrl/ctrl_shell_test.cpp index a0745775..38e45d46 100644 --- a/test/apps/ctrl/ctrl_shell_test.cpp +++ b/test/apps/ctrl/ctrl_shell_test.cpp @@ -21,9 +21,6 @@ Copyright (c) 2022 Cedalo GmbH namespace t = testing; -typedef void (*LIBMOSQ_FUNC_connect_callback)(struct mosquitto *, void *, int); -typedef void (*LIBMOSQ_FUNC_message_callback)(struct mosquitto *, void *, const struct mosquitto_message *); - struct pending_payload{ struct pending_payload *next, *prev; char payload[1024]; @@ -36,8 +33,8 @@ class CtrlShellTest : public ::t::Test ::t::StrictMock editline_mock_{}; ::t::StrictMock libmosquitto_mock_{}; ::t::StrictMock pthread_mock_{}; - LIBMOSQ_FUNC_connect_callback on_connect{}; - LIBMOSQ_FUNC_message_callback on_message{}; + LIBMOSQ_CB_connect on_connect{}; + LIBMOSQ_CB_message on_message{}; struct pending_payload *pending_payloads = nullptr; void expect_setup(struct mosq_config *config) @@ -61,9 +58,9 @@ class CtrlShellTest : public ::t::Test EXPECT_CALL(libmosquitto_mock_, mosquitto_connect(t::Eq(mosq), t::StrEq(host), port, 60)); EXPECT_CALL(libmosquitto_mock_, mosquitto_loop_start(t::Eq(mosq))); - EXPECT_CALL(libmosquitto_mock_, mosquitto_connect_callback_set(t::Eq(mosq), t::A())) + EXPECT_CALL(libmosquitto_mock_, mosquitto_connect_callback_set(t::Eq(mosq), t::A())) .WillRepeatedly(t::SaveArg<1>(&this->on_connect)); - EXPECT_CALL(libmosquitto_mock_, mosquitto_message_callback_set(t::Eq(mosq), t::A())) + EXPECT_CALL(libmosquitto_mock_, mosquitto_message_callback_set(t::Eq(mosq), t::A())) .WillOnce(t::SaveArg<1>(&this->on_message)); } diff --git a/test/mock/lib/callbacks_mock.cpp b/test/mock/lib/callbacks_mock.cpp index 69733f63..a3fb8076 100644 --- a/test/mock/lib/callbacks_mock.cpp +++ b/test/mock/lib/callbacks_mock.cpp @@ -1,107 +1,86 @@ #include "libmosquitto_mock.hpp" -void mosquitto_connect_callback_set(struct mosquitto *mosq, - void (*on_connect)(struct mosquitto *, void *, int)) +void mosquitto_connect_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_connect on_connect) { return LibMosquittoMock::get_mock().mosquitto_connect_callback_set(mosq, on_connect); } -void mosquitto_connect_with_flags_callback_set(struct mosquitto *mosq, - void (*on_connect)(struct mosquitto *, void *, int, int)) +void mosquitto_connect_with_flags_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_connect_with_flags on_connect) { return LibMosquittoMock::get_mock().mosquitto_connect_with_flags_callback_set(mosq, on_connect); } -void mosquitto_connect_v5_callback_set(struct mosquitto *mosq, - void (*on_connect)(struct mosquitto *, void *, int, int, const mosquitto_property *)) +void mosquitto_connect_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_connect_v5 on_connect) { return LibMosquittoMock::get_mock().mosquitto_connect_v5_callback_set(mosq, on_connect); } -void mosquitto_pre_connect_callback_set(struct mosquitto *mosq, - void (*on_pre_connect)(struct mosquitto *, void *)) +void mosquitto_pre_connect_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_pre_connect on_pre_connect) { return LibMosquittoMock::get_mock().mosquitto_pre_connect_callback_set(mosq, on_pre_connect); } -void mosquitto_disconnect_callback_set(struct mosquitto *mosq, - void (*on_disconnect)(struct mosquitto *, void *, int)) +void mosquitto_disconnect_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_disconnect on_disconnect) { return LibMosquittoMock::get_mock().mosquitto_disconnect_callback_set(mosq, on_disconnect); } -void mosquitto_disconnect_v5_callback_set(struct mosquitto *mosq, - void (*on_disconnect)(struct mosquitto *, void *, int, const mosquitto_property *)) +void mosquitto_disconnect_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_disconnect_v5 on_disconnect) { return LibMosquittoMock::get_mock().mosquitto_disconnect_v5_callback_set(mosq, on_disconnect); } -void mosquitto_publish_callback_set(struct mosquitto *mosq, - void (*on_publish)(struct mosquitto *, void *, int)) +void mosquitto_publish_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_publish on_publish) { return LibMosquittoMock::get_mock().mosquitto_publish_callback_set(mosq, on_publish); } -void mosquitto_publish_v5_callback_set(struct mosquitto *mosq, - void (*on_publish)(struct mosquitto *, void *, int, int, const mosquitto_property *props)) +void mosquitto_publish_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_publish_v5 on_publish) { return LibMosquittoMock::get_mock().mosquitto_publish_v5_callback_set(mosq, on_publish); } -void mosquitto_message_callback_set(struct mosquitto *mosq, - void (*on_message)(struct mosquitto *, void *, const struct mosquitto_message *)) +void mosquitto_message_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_message on_message) { return LibMosquittoMock::get_mock().mosquitto_message_callback_set(mosq, on_message); } -void mosquitto_message_v5_callback_set(struct mosquitto *mosq, - void (*on_message)(struct mosquitto *, void *, const struct mosquitto_message *, - const mosquitto_property *props)) +void mosquitto_message_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_message_v5 on_message) { return LibMosquittoMock::get_mock().mosquitto_message_v5_callback_set(mosq, on_message); } -void mosquitto_subscribe_callback_set(struct mosquitto *mosq, - void (*on_subscribe)(struct mosquitto *, void *, int, int, const int *)) +void mosquitto_subscribe_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_subscribe on_subscribe) { return LibMosquittoMock::get_mock().mosquitto_subscribe_callback_set(mosq, on_subscribe); } -void mosquitto_subscribe_v5_callback_set(struct mosquitto *mosq, - void (*on_subscribe)(struct mosquitto *, void *, int, int, const int *, - const mosquitto_property *props)) +void mosquitto_subscribe_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_subscribe_v5 on_subscribe) { return LibMosquittoMock::get_mock().mosquitto_subscribe_v5_callback_set(mosq, on_subscribe); } -void mosquitto_unsubscribe_callback_set(struct mosquitto *mosq, - void (*on_unsubscribe)(struct mosquitto *, void *, int)) +void mosquitto_unsubscribe_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_unsubscribe on_unsubscribe) { return LibMosquittoMock::get_mock().mosquitto_unsubscribe_callback_set(mosq, on_unsubscribe); } -void mosquitto_unsubscribe_v5_callback_set(struct mosquitto *mosq, - void (*on_unsubscribe)(struct mosquitto *, void *, int, const mosquitto_property *props)) +void mosquitto_unsubscribe_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_unsubscribe_v5 on_unsubscribe) { return LibMosquittoMock::get_mock().mosquitto_unsubscribe_v5_callback_set(mosq, on_unsubscribe); } -void mosquitto_unsubscribe2_v5_callback_set(struct mosquitto *mosq, - void (*on_unsubscribe)(struct mosquitto *, void *, int, int, const int *, - const mosquitto_property *props)) +void mosquitto_unsubscribe2_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_unsubscribe2_v5 on_unsubscribe) { return LibMosquittoMock::get_mock().mosquitto_unsubscribe2_v5_callback_set(mosq, on_unsubscribe); } -void mosquitto_log_callback_set(struct mosquitto *mosq, - void (*on_log)(struct mosquitto *, void *, int, const char *)) +void mosquitto_log_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_log on_log) { return LibMosquittoMock::get_mock().mosquitto_log_callback_set(mosq, on_log); } -void mosquitto_ext_auth_callback_set(struct mosquitto *mosq, - int (*on_ext_auth)(struct mosquitto *, void *, const char *, uint16_t, const void *, - const mosquitto_property *props)) +void mosquitto_ext_auth_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_ext_auth on_ext_auth) { return LibMosquittoMock::get_mock().mosquitto_ext_auth_callback_set(mosq, on_ext_auth); } diff --git a/test/mock/lib/libmosquitto_mock.hpp b/test/mock/lib/libmosquitto_mock.hpp index eb6f6120..03c0b542 100644 --- a/test/mock/lib/libmosquitto_mock.hpp +++ b/test/mock/lib/libmosquitto_mock.hpp @@ -43,43 +43,39 @@ class LibMosquittoMock : public CFunctionMock { /* callbacks.c */ MOCK_METHOD(void, mosquitto_connect_callback_set, (struct mosquitto *mosq, - void (*on_connect)(struct mosquitto *, void *, int))); + LIBMOSQ_CB_connect on_connect)); MOCK_METHOD(void, mosquitto_connect_with_flags_callback_set, (struct mosquitto *mosq, - void (*on_connect)(struct mosquitto *, void *, int, int))); + LIBMOSQ_CB_connect_with_flags on_connect)); MOCK_METHOD(void, mosquitto_connect_v5_callback_set, (struct mosquitto *mosq, - void (*on_connect)(struct mosquitto *, void *, int, int, const mosquitto_property *))); + LIBMOSQ_CB_connect_v5 on_connect)); MOCK_METHOD(void, mosquitto_pre_connect_callback_set, (struct mosquitto *mosq, - void (*on_pre_connect)(struct mosquitto *, void *))); + LIBMOSQ_CB_pre_connect on_pre_connect)); MOCK_METHOD(void, mosquitto_disconnect_callback_set, (struct mosquitto *mosq, - void (*on_disconnect)(struct mosquitto *, void *, int))); + LIBMOSQ_CB_disconnect on_disconnect)); MOCK_METHOD(void, mosquitto_disconnect_v5_callback_set, (struct mosquitto *mosq, - void (*on_disconnect)(struct mosquitto *, void *, int, const mosquitto_property *))); + LIBMOSQ_CB_disconnect_v5 on_disconnect)); MOCK_METHOD(void, mosquitto_publish_callback_set, (struct mosquitto *mosq, - void (*on_publish)(struct mosquitto *, void *, int))); + LIBMOSQ_CB_publish on_publish)); MOCK_METHOD(void, mosquitto_publish_v5_callback_set, (struct mosquitto *mosq, - void (*on_publish)(struct mosquitto *, void *, int, int, const mosquitto_property *props))); + LIBMOSQ_CB_publish_v5 on_publish)); MOCK_METHOD(void, mosquitto_message_callback_set, (struct mosquitto *mosq, - void (*on_message)(struct mosquitto *, void *, const struct mosquitto_message *))); + LIBMOSQ_CB_message on_message)); MOCK_METHOD(void, mosquitto_message_v5_callback_set, (struct mosquitto *mosq, - void (*on_message)(struct mosquitto *, void *, const struct mosquitto_message *, - const mosquitto_property *props))); + LIBMOSQ_CB_message_v5 on_message)); MOCK_METHOD(void, mosquitto_subscribe_callback_set, (struct mosquitto *mosq, - void (*on_subscribe)(struct mosquitto *, void *, int, int, const int *))); + LIBMOSQ_CB_subscribe on_subscribe)); MOCK_METHOD(void, mosquitto_subscribe_v5_callback_set, (struct mosquitto *mosq, - void (*on_subscribe)(struct mosquitto *, void *, int, int, const int *, - const mosquitto_property *props))); + LIBMOSQ_CB_subscribe_v5 on_subscribe)); MOCK_METHOD(void, mosquitto_unsubscribe_callback_set, (struct mosquitto *mosq, - void (*on_unsubscribe)(struct mosquitto *, void *, int))); + LIBMOSQ_CB_unsubscribe on_unsubscribe)); MOCK_METHOD(void, mosquitto_unsubscribe_v5_callback_set, (struct mosquitto *mosq, - void (*on_unsubscribe)(struct mosquitto *, void *, int, const mosquitto_property *props))); + LIBMOSQ_CB_unsubscribe_v5 on_unsubscribe)); MOCK_METHOD(void, mosquitto_unsubscribe2_v5_callback_set, (struct mosquitto *mosq, - void (*on_unsubscribe)(struct mosquitto *, void *, int, int, const int *, - const mosquitto_property *props))); + LIBMOSQ_CB_unsubscribe2_v5 on_unsubscribe)); MOCK_METHOD(void, mosquitto_log_callback_set, (struct mosquitto *mosq, - void (*on_log)(struct mosquitto *, void *, int, const char *))); + LIBMOSQ_CB_log on_log)); MOCK_METHOD(void, mosquitto_ext_auth_callback_set, (struct mosquitto *mosq, - int (*on_ext_auth)(struct mosquitto *, void *, const char *, uint16_t, const void *, - const mosquitto_property *props))); + LIBMOSQ_CB_ext_auth on_ext_auth)); /* connect.c */ MOCK_METHOD(int, mosquitto_connect, (struct mosquitto *mosq, const char *host,