Reconnections of data channels should be indicated to others applications by using the appropriate signal. --- health/hdp.c | 15 ++++++++++++--- 1 files changed, 12 insertions(+), 3 deletions(-) diff --git a/health/hdp.c b/health/hdp.c index 7a4b219..7fed483 100644 --- a/health/hdp.c +++ b/health/hdp.c @@ -510,14 +510,23 @@ static void hdp_mdl_reconn_cb(struct mcap_mdl *mdl, GError *err, gpointer data) } fd = mcap_mdl_get_fd(dc_data->hdp_chann->mdl); - if (fd < 0) + if (fd < 0) { reply = g_dbus_create_error(dc_data->msg, ERROR_INTERFACE ".HealthError", "Cannot get file descriptor"); - else - reply = g_dbus_create_reply(dc_data->msg, DBUS_TYPE_UNIX_FD, + g_dbus_send_message(dc_data->conn, reply); + return; + } + + reply = g_dbus_create_reply(dc_data->msg, DBUS_TYPE_UNIX_FD, &fd, DBUS_TYPE_INVALID); g_dbus_send_message(dc_data->conn, reply); + + g_dbus_emit_signal(dc_data->conn, + device_get_path(dc_data->hdp_chann->dev->dev), + HEALTH_DEVICE, "ChannelConnected", + DBUS_TYPE_OBJECT_PATH, &dc_data->hdp_chann->path, + DBUS_TYPE_INVALID); } static void hdp_get_dcpsm_cb(uint16_t dcpsm, gpointer user_data, GError *err) -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html