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 3f9c646..79b5ade 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 0f997da..979076e 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 5b8c1f5..db24b1a 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 9844092..faea12b 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 59e84d2..245de21 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 2b9275b..826796f 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)
--
1.8.2.1