{BT_UPDATE_LE_CONNECTION_MODE, "BT_UPDATE_LE_CONNECTION_MODE"},
{BT_SET_PROFILE_TRUSTED, "BT_SET_PROFILE_TRUSTED"},
{BT_GET_PROFILE_TRUSTED, "BT_GET_PROFILE_TRUSTED"},
- {BT_SET_PROFILE_RESTRICTED, "BT_SET_PROFILE_RESTRICTED"},
- {BT_GET_PROFILE_RESTRICTED, "BT_GET_PROFILE_RESTRICTED"},
{BT_HID_CONNECT, "BT_HID_CONNECT"},
{BT_HID_DISCONNECT, "BT_HID_DISCONNECT"},
{BT_HID_DEVICE_ACTIVATE, "BT_HID_DEVICE_ACTIVATE"},
BT_DEVICE_INTERFACE,
NULL, &err);
- if (err) {
+ if (device_gproxy == NULL && err) {
BT_ERR("Unable to create proxy: %s", err->message);
g_clear_error(&err);
return NULL;
BT_ERR("DBus Error: [%s]", err->message);
g_clear_error(&err);
}
- ret = g_dbus_proxy_call_sync(proxy, "GetAll",
- g_variant_new("(s)", BT_DEVICE_INTERFACE),
- G_DBUS_CALL_FLAGS_NONE,
- DBUS_TIMEOUT, NULL,
- &err);
+ ret = g_dbus_proxy_call_sync(proxy, "Get",
+ g_variant_new("(ss)", BT_DEVICE_INTERFACE, "UUIDs"),
+ G_DBUS_CALL_FLAGS_NONE, DBUS_TIMEOUT, NULL, &err);
if (err) {
result = BLUETOOTH_ERROR_INTERNAL;
BT_ERR("DBus Error : %s", err->message);
g_clear_error(&err);
goto done;
- }
- if (ret == NULL) {
- BT_ERR("g_dbus_proxy_call_sync function return NULL");
- result = BLUETOOTH_ERROR_INTERNAL;
- goto done;
+ } else {
+ g_variant_get(ret, "(v)", &value);
+ uuid_value = (char **)g_variant_get_strv(value, &size);
+ BT_DBG("Size items %d", size);
+ g_variant_unref(value);
+ g_variant_unref(ret);
}
- g_variant_get(ret, "(@a{sv})", &value);
- g_variant_unref(ret);
- if (value) {
- GVariant *temp_value = g_variant_lookup_value(value, "UUIDs",
- G_VARIANT_TYPE_STRING_ARRAY);
-
- if (temp_value) {
- size = g_variant_get_size(temp_value);
- if (size > 0) {
- uuid_value = (char **)g_variant_get_strv(temp_value, &size);
- BT_DBG("Size items %d", size);
-
- if (uuid_value) {
- for (i = 0; uuid_value[i] != NULL; i++) {
- BT_DBG("Remote uuids %s", uuid_value[i]);
- if (strcasecmp(uuid_value[i], remote_uuid) == 0) {
- result = BLUETOOTH_ERROR_NONE;
- g_variant_unref(temp_value);
- goto done;
- }
- }
- }
+ if (uuid_value) {
+ for (i = 0; uuid_value[i] != NULL; i++) {
+ BT_DBG("Remote uuids %s", uuid_value[i]);
+ if (g_ascii_strcasecmp(uuid_value[i], remote_uuid) == 0) {
+ result = BLUETOOTH_ERROR_NONE;
+ goto done;
}
- g_variant_unref(temp_value);
}
}
+
done:
if (proxy)
g_object_unref(proxy);
- if (value)
- g_variant_unref(value);
if (uuid_value)
g_free(uuid_value);
g_clear_error(&err);
}
- result = g_dbus_proxy_call_sync(proxy, "GetAll",
- g_variant_new("(s)", BT_DEVICE_INTERFACE),
- G_DBUS_CALL_FLAGS_NONE,
- DBUS_TIMEOUT, NULL,
- &err);
+ result = g_dbus_proxy_call_sync(proxy, "Get",
+ g_variant_new("(ss)", BT_DEVICE_INTERFACE, "Class"),
+ G_DBUS_CALL_FLAGS_NONE, DBUS_TIMEOUT, NULL, &err);
if (err) {
ret = BLUETOOTH_ERROR_INTERNAL;
BT_ERR("DBus Error : %s", err->message);
g_clear_error(&err);
goto done;
- }
- if (result == NULL) {
- BT_ERR("g_dbus_proxy_call_sync function return NULL");
- ret = BLUETOOTH_ERROR_INTERNAL;
- goto done;
- }
- g_variant_get(result, "(@a{sv})", &value);
- g_variant_unref(result);
- if (value) {
- GVariant *temp_value = g_variant_lookup_value(value, "Class",
- G_VARIANT_TYPE_UINT32);
- class = g_variant_get_uint32(temp_value);
+ } else {
+ g_variant_get(result, "(v)", &value);
+ class = g_variant_get_uint32(value);
_bt_divide_device_class(dev_class, class);
- if (temp_value)
- g_variant_unref(temp_value);
+ g_variant_unref(value);
+ g_variant_unref(result);
}
done:
if (proxy)
g_object_unref(proxy);
- if (value)
- g_variant_unref(value);
BT_DBG("-");
return ret;
BT_MANAGER_INTERFACE,
NULL, &error);
- if (error) {
+ if (manager_proxy == NULL && error) {
BT_ERR("Unable to create proxy: %s", error->message);
g_clear_error(&error);
return NULL;