client: Attempt to convert the device path to address 67/204967/1
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Mon, 26 Mar 2018 12:43:06 +0000 (15:43 +0300)
committerAmit Purwar <amit.purwar@samsung.com>
Fri, 26 Apr 2019 10:55:21 +0000 (16:25 +0530)
Printing the object path is not only long but it also may change.

Change-Id: I9c67ba57485afb0a87b30ee8173eab1976e4127a
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
client/gatt.c

index cbf7adf..7103c4f 100755 (executable)
@@ -1415,6 +1415,20 @@ static const GDBusPropertyTable chrc_properties[] = {
        { }
 };
 
+static const char *path_to_address(const char *path)
+{
+       GDBusProxy *proxy;
+       DBusMessageIter iter;
+       const char *address = path;
+
+       proxy = bt_shell_get_env(path);
+
+       if (g_dbus_proxy_get_property(proxy, "Address", &iter))
+               dbus_message_iter_get_basic(&iter, &address);
+
+       return address;
+}
+
 static int parse_options(DBusMessageIter *iter, uint16_t *offset, uint16_t *mtu,
                                                char **device, char **link)
 {
@@ -1539,8 +1553,8 @@ static DBusMessage *chrc_read_value(DBusConnection *conn, DBusMessage *msg,
                                        "org.bluez.Error.InvalidArguments",
                                        NULL);
 
-       bt_shell_printf("ReadValue: %s offset %u link %s\n", device, offset,
-                                                               link);
+       bt_shell_printf("ReadValue: %s offset %u link %s\n",
+                       path_to_address(device), offset, link);
 
        if (chrc->authorization_req && offset == 0)
                chrc->authorized = false;
@@ -1722,7 +1736,8 @@ static DBusMessage *chrc_acquire_write(DBusConnection *conn, DBusMessage *msg,
                                        "org.bluez.Error.InvalidArguments",
                                        NULL);
 
-       bt_shell_printf("AcquireWrite: %s link %s\n", device, link);
+       bt_shell_printf("AcquireWrite: %s link %s\n", path_to_address(device),
+                                                                       link);
 
        reply = chrc_create_pipe(chrc, msg);
 
@@ -1753,7 +1768,8 @@ static DBusMessage *chrc_acquire_notify(DBusConnection *conn, DBusMessage *msg,
                                        "org.bluez.Error.InvalidArguments",
                                        NULL);
 
-       bt_shell_printf("AcquireNotify: %s link %s\n", device, link);
+       bt_shell_printf("AcquireNotify: %s link %s\n", path_to_address(device),
+                                                                       link);
 
        reply = chrc_create_pipe(chrc, msg);
 
@@ -1961,8 +1977,8 @@ static DBusMessage *desc_read_value(DBusConnection *conn, DBusMessage *msg,
                                        "org.bluez.Error.InvalidArguments",
                                        NULL);
 
-       bt_shell_printf("ReadValue: %s offset %u link %s\n", device, offset,
-                                                               link);
+       bt_shell_printf("ReadValue: %s offset %u link %s\n",
+                       path_to_address(device), offset, link);
 
        if (offset > desc->value_len)
                return g_dbus_create_error(msg, "org.bluez.Error.InvalidOffset",
@@ -1993,8 +2009,8 @@ static DBusMessage *desc_write_value(DBusConnection *conn, DBusMessage *msg,
                                        "org.bluez.Error.InvalidArguments",
                                        NULL);
 
-       bt_shell_printf("WriteValue: %s offset %u link %s\n", device, offset,
-                                                               link);
+       bt_shell_printf("WriteValue: %s offset %u link %s\n",
+                       path_to_address(device), offset, link);
 
        bt_shell_printf("[" COLORED_CHG "] Attribute %s written" , desc->path);