static char *__bt_get_remote_device_name(const char *bdaddress)
{
char *device_path = NULL;
- char *name = NULL;
- GVariant *value;
+ const gchar *name = NULL;
+ gchar *dev_name = NULL;
+ gsize name_len = 0;
GVariant *result = NULL;
GError *err = NULL;
GDBusProxy *device_proxy;
g_free(device_path);
retv_if(device_proxy == NULL, NULL);
- result = g_dbus_proxy_call_sync(device_proxy, "GetAll",
- g_variant_new("(s)", BT_DEVICE_INTERFACE),
- G_DBUS_CALL_FLAGS_NONE,
- DBUS_TIMEOUT, NULL,
- &err);
+ result = g_dbus_proxy_call_sync(device_proxy, "Get",
+ g_variant_new("(ss)", BT_DEVICE_INTERFACE, "Alias"),
+ G_DBUS_CALL_FLAGS_NONE, DBUS_TIMEOUT, NULL, &err);
if (err) {
BT_ERR("DBus Error : %s", err->message);
g_clear_error(&err);
- return NULL;
- }
- if (result == NULL) {
- BT_ERR("g_dbus_proxy_call_sync function return NULL");
- return NULL;
+ } else {
+ GVariant *value;
+ g_variant_get(result, "(v)", &value);
+ name = g_variant_get_string(value, &name_len);
+ INFO_SECURE("Alias Name [%s]", name);
+ if (name_len)
+ dev_name = g_strdup(name);
+ g_variant_unref(value);
+ g_variant_unref(result);
}
- g_variant_get(result, "(@a{sv})", &value);
- if (value) {
- GVariant *temp_value = g_variant_lookup_value(value, "Alias",
- G_VARIANT_TYPE_STRING);
- g_variant_get(temp_value, "s", &name);
- if (temp_value)
- g_variant_unref(temp_value);
-
- if (name != NULL)
- DBG_SECURE("Alias Name [%s]", name);
- else {
- temp_value = g_variant_lookup_value(value, "Name", G_VARIANT_TYPE_STRING);
- g_variant_get(temp_value, "s", &name);
- if (temp_value)
- g_variant_unref(temp_value);
- DBG_SECURE("Name = %s", name);
+ if (name_len == 0) {
+ result = g_dbus_proxy_call_sync(device_proxy, "Get",
+ g_variant_new("(ss)", BT_DEVICE_INTERFACE, "Name"),
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, &err);
+ if (err) {
+ ERR("DBus Error : %s", err->message);
+ g_clear_error(&err);
+ } else {
+ GVariant *value;
+ g_variant_get(result, "(v)", &value);
+ name = g_variant_get_string(value, &name_len);
+ INFO_SECURE("Name = %s", name);
+ if (name_len)
+ dev_name = g_strdup(name);
+ g_variant_unref(value);
+ g_variant_unref(result);
}
}
- g_variant_unref(result);
+
g_object_unref(device_proxy);
- return name;
+ return dev_name;
}
static void __bt_get_remote_device_name_authinfo(const char *bdaddress,
BT_OBEX_TRANSFER_INTERFACE,
NULL, &err);
- if (err) {
+ if (proxy == NULL && err) {
BT_ERR("Error : %s", err->message);
g_clear_error(&err);
return NULL;
transfer_path,
BT_PROPERTIES_INTERFACE,
NULL, &err);
- if (err) {
+ if (proxy == NULL && err) {
BT_ERR("Error : %s", err->message);
g_clear_error(&err);
return NULL;