From 48cb2e5249d56ddb796440cb81ce824adc8ead16 Mon Sep 17 00:00:00 2001 From: Vinicius Costa Gomes Date: Tue, 23 Apr 2013 18:21:50 -0300 Subject: [PATCH] bluez5: Unify bt_register_profile_* into a single function It was a cause of confusion for little gain to have separate functions for registering profiles with extra information, for example "role" and "features". We remove those helper functions in favor of a single one with more parameters, "role" and "feature" when NULL, will be ignored. --- dundee/bluez5.c | 4 ++-- plugins/bluez5.c | 17 +++++++---------- plugins/bluez5.h | 7 ++----- plugins/dun_gw_bluez5.c | 2 +- plugins/hfp_ag_bluez5.c | 2 +- plugins/hfp_hf_bluez5.c | 2 +- 6 files changed, 14 insertions(+), 20 deletions(-) diff --git a/dundee/bluez5.c b/dundee/bluez5.c index 3f9c6463..79b5adec 100644 --- a/dundee/bluez5.c +++ b/dundee/bluez5.c @@ -379,8 +379,8 @@ static void connect_handler(DBusConnection *conn, void *user_data) { DBG(""); - bt_register_profile_with_role(conn, DUN_GW_UUID, DUN_VERSION_1_2, - "dun_dt", DUN_DT_PROFILE_PATH, "client"); + bt_register_profile(conn, DUN_GW_UUID, DUN_VERSION_1_2, "dun_dt", + DUN_DT_PROFILE_PATH, "client", 0); } int __dundee_bluetooth_init(void) diff --git a/plugins/bluez5.c b/plugins/bluez5.c index 0f997daf..979076e4 100644 --- a/plugins/bluez5.c +++ b/plugins/bluez5.c @@ -90,9 +90,10 @@ done: dbus_message_unref(reply); } -int bt_register_profile_with_role(DBusConnection *conn, const char *uuid, +int bt_register_profile(DBusConnection *conn, const char *uuid, uint16_t version, const char *name, - const char *object, const char *role) + const char *object, const char *role, + uint16_t features) { DBusMessageIter iter, dict; DBusPendingCall *c; @@ -114,6 +115,10 @@ int bt_register_profile_with_role(DBusConnection *conn, const char *uuid, if (role) ofono_dbus_dict_append(&dict, "Role", DBUS_TYPE_STRING, &role); + if (features) + ofono_dbus_dict_append(&dict, "Features", DBUS_TYPE_UINT16, + &features); + dbus_message_iter_close_container(&iter, &dict); if (!dbus_connection_send_with_reply(conn, msg, &c, -1)) { @@ -130,14 +135,6 @@ int bt_register_profile_with_role(DBusConnection *conn, const char *uuid, return 0; } -int bt_register_profile(DBusConnection *conn, const char *uuid, - uint16_t version, const char *name, - const char *object) -{ - return bt_register_profile_with_role(conn, uuid, version, name, object, - NULL); -} - void bt_unregister_profile(DBusConnection *conn, const char *object) { DBusMessageIter iter; diff --git a/plugins/bluez5.h b/plugins/bluez5.h index 5b8c1f55..db24b1ab 100644 --- a/plugins/bluez5.h +++ b/plugins/bluez5.h @@ -29,13 +29,10 @@ #define HFP_HS_UUID "0000111e-0000-1000-8000-00805f9b34fb" #define HFP_AG_UUID "0000111f-0000-1000-8000-00805f9b34fb" -int bt_register_profile_with_role(DBusConnection *conn, const char *uuid, - uint16_t version, const char *name, - const char *object, const char *role); - int bt_register_profile(DBusConnection *conn, const char *uuid, uint16_t version, const char *name, - const char *object); + const char *object, const char *role, + uint16_t features); void bt_unregister_profile(DBusConnection *conn, const char *object); diff --git a/plugins/dun_gw_bluez5.c b/plugins/dun_gw_bluez5.c index 9844092f..faea12b0 100644 --- a/plugins/dun_gw_bluez5.c +++ b/plugins/dun_gw_bluez5.c @@ -172,7 +172,7 @@ static void gprs_watch(struct ofono_atom *atom, if (modems->next == NULL) bt_register_profile(conn, DUN_GW_UUID, DUN_GW_VERSION_1_0, - "dun_gw", DUN_GW_EXT_PROFILE_PATH); + "dun_gw", DUN_GW_EXT_PROFILE_PATH, NULL, 0); } static void modem_watch(struct ofono_modem *modem, gboolean added, void *user) diff --git a/plugins/hfp_ag_bluez5.c b/plugins/hfp_ag_bluez5.c index 59e84d21..245de217 100644 --- a/plugins/hfp_ag_bluez5.c +++ b/plugins/hfp_ag_bluez5.c @@ -233,7 +233,7 @@ static void sim_state_watch(enum ofono_sim_state new_state, void *data) return; bt_register_profile(conn, HFP_AG_UUID, HFP_VERSION_1_5, "hfp_ag", - HFP_AG_EXT_PROFILE_PATH); + HFP_AG_EXT_PROFILE_PATH, NULL, 0); } static gboolean sim_watch_remove(gpointer key, gpointer value, diff --git a/plugins/hfp_hf_bluez5.c b/plugins/hfp_hf_bluez5.c index 2b9275b3..826796f0 100644 --- a/plugins/hfp_hf_bluez5.c +++ b/plugins/hfp_hf_bluez5.c @@ -639,7 +639,7 @@ static void connect_handler(DBusConnection *conn, void *user_data) DBG("Registering External Profile handler ..."); bt_register_profile(conn, HFP_HS_UUID, HFP_VERSION_1_6, "hfp_hf", - HFP_EXT_PROFILE_PATH); + HFP_EXT_PROFILE_PATH, NULL, 0); } static gboolean has_hfp_ag_uuid(DBusMessageIter *array)