Merge change 25970 into eclair
* changes: Make removeBond() call async.
This commit is contained in:
@@ -387,33 +387,24 @@ static jboolean cancelDeviceCreationNative(JNIEnv *env, jobject object,
|
|||||||
|
|
||||||
static jboolean removeDeviceNative(JNIEnv *env, jobject object, jstring object_path) {
|
static jboolean removeDeviceNative(JNIEnv *env, jobject object, jstring object_path) {
|
||||||
LOGV(__FUNCTION__);
|
LOGV(__FUNCTION__);
|
||||||
jboolean result = JNI_FALSE;
|
|
||||||
#ifdef HAVE_BLUETOOTH
|
#ifdef HAVE_BLUETOOTH
|
||||||
native_data_t *nat = get_native_data(env, object);
|
native_data_t *nat = get_native_data(env, object);
|
||||||
if (nat) {
|
if (nat) {
|
||||||
const char *c_object_path = env->GetStringUTFChars(object_path, NULL);
|
const char *c_object_path = env->GetStringUTFChars(object_path, NULL);
|
||||||
DBusError err;
|
bool ret = dbus_func_args_async(env, nat->conn, -1,
|
||||||
dbus_error_init(&err);
|
NULL,
|
||||||
DBusMessage *reply =
|
NULL,
|
||||||
dbus_func_args_error(env, nat->conn, &err,
|
NULL,
|
||||||
get_adapter_path(env, object),
|
get_adapter_path(env, object),
|
||||||
DBUS_ADAPTER_IFACE, "RemoveDevice",
|
DBUS_ADAPTER_IFACE,
|
||||||
DBUS_TYPE_OBJECT_PATH, &c_object_path,
|
"RemoveDevice",
|
||||||
DBUS_TYPE_INVALID);
|
DBUS_TYPE_OBJECT_PATH, &c_object_path,
|
||||||
if (!reply) {
|
DBUS_TYPE_INVALID);
|
||||||
if (dbus_error_is_set(&err)) {
|
|
||||||
LOG_AND_FREE_DBUS_ERROR(&err);
|
|
||||||
} else
|
|
||||||
LOGE("DBus reply is NULL in function %s", __FUNCTION__);
|
|
||||||
result = JNI_FALSE;
|
|
||||||
} else {
|
|
||||||
result = JNI_TRUE;
|
|
||||||
}
|
|
||||||
env->ReleaseStringUTFChars(object_path, c_object_path);
|
env->ReleaseStringUTFChars(object_path, c_object_path);
|
||||||
if (reply) dbus_message_unref(reply);
|
return ret ? JNI_TRUE : JNI_FALSE;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return result;
|
return JNI_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static jint enableNative(JNIEnv *env, jobject object) {
|
static jint enableNative(JNIEnv *env, jobject object) {
|
||||||
|
|||||||
Reference in New Issue
Block a user