struct _bluez_device *device,
const gchar *alias);
-typedef void (*simple_reply_cb_t) (
- enum bluez_error_type type,
- void *user_data);
-
typedef void (*bluez_avrcp_repeat_changed_cb_t)(
const gchar *repeat,
gpointer user_data);
ERROR_AUTH_FAILED
};
+typedef void (*simple_reply_cb_t) (
+ enum bluez_error_type type,
+ void *user_data);
+
+struct simple_reply_data {
+ GDBusProxy *proxy;
+ simple_reply_cb_t reply_cb;
+ void *user_data;
+};
+
enum bluez_error_type get_error_type(GError *error);
int property_get_boolean(GDBusProxy *proxy,
char **property_get_string_list(GDBusProxy *proxy,
const char *property);
+void simple_reply_callback(GObject *source_object,
+ GAsyncResult *res,
+ gpointer user_data);
+
int comms_service_plugin_init(void);
void comms_service_plugin_cleanup(void);
destruct_comms_object_manager();
}
+struct _bluetooth_simple_async_result {
+ bluetooth_simple_callback callback;
+ void *user_data;
+};
+
+static void bluetooth_simple_async_cb(GObject *object, GAsyncResult *res,
+ gpointer user_data)
+{
+ struct _bluetooth_simple_async_result *async_result_node = user_data;
+ enum bluez_error_type error_type = ERROR_NONE;
+ GDBusProxy *proxy = G_DBUS_PROXY(object);
+ GError *error = NULL;
+ GVariant *ret;
+
+ ret = g_dbus_proxy_call_finish(proxy, res, &error);
+ if (ret == NULL) {
+ DBG("%s", error->message);
+
+ error_type = get_error_type(error);
+
+ g_error_free(error);
+ } else
+ g_variant_unref(ret);
+
+ if (async_result_node && async_result_node->callback)
+ async_result_node->callback(error_type,
+ async_result_node->user_data);
+
+ g_free(async_result_node);
+}
+
void comms_manager_enable_bluetooth(void)
{
if (this_manager == NULL) {
}
g_dbus_proxy_call(this_manager->proxy, "EnableBluetoothService",
- NULL, 0, -1, NULL, NULL, NULL);
+ NULL, 0, -1, NULL,
+ bluetooth_simple_async_cb, NULL);
}
void comms_manager_disable_bluetooth(void)
}
g_dbus_proxy_call(this_manager->proxy, "DisableBluetoothService",
- NULL, 0, -1, NULL, NULL, NULL);
+ NULL, 0, -1, NULL,
+ bluetooth_simple_async_cb, NULL);
}
int comms_manager_get_bt_adapter_visibale_time(void)
"BluetoothInService", in_service);
}
-struct _bluetooth_simple_async_result {
- bluetooth_simple_callback callback;
- void *user_data;
-};
-
-static void bluetooth_simple_async_cb(GObject *object, GAsyncResult *res,
- gpointer user_data)
-{
- struct _bluetooth_simple_async_result *async_result_node = user_data;
- enum bluez_error_type error_type = ERROR_NONE;
- GDBusProxy *proxy = G_DBUS_PROXY(object);
- GError *error = NULL;
- GVariant *ret;
-
- ret = g_dbus_proxy_call_finish(proxy, res, &error);
- if (ret == NULL) {
- DBG("%s", error->message);
-
- error_type = get_error_type(error);
-
- g_error_free(error);
- } else
- g_variant_unref(ret);
-
- if (async_result_node->callback)
- async_result_node->callback(error_type,
- async_result_node->user_data);
-
- g_free(async_result_node);
-}
-
void comms_bluetooth_device_pair(const char *address,
bluetooth_simple_callback cb,
void *user_data)
g_dbus_proxy_call(adapter->parent->properties_proxy,
"Set", parameters, 0,
- -1, NULL, NULL, NULL);
+ -1, NULL,
+ simple_reply_callback, NULL);
}
void bluez_adapter_set_powered(struct _bluez_adapter *adapter,
g_dbus_proxy_call(adapter->parent->properties_proxy,
"Set", parameters, 0,
- -1, NULL, NULL, NULL);
+ -1, NULL, simple_reply_callback, NULL);
}
void bluez_adapter_set_discoverable(struct _bluez_adapter *adapter,
g_dbus_proxy_call(adapter->parent->properties_proxy,
"Set", parameters, 0,
- -1, NULL, NULL, NULL);
+ -1, NULL,
+ simple_reply_callback, NULL);
}
void bluez_adapter_set_discoverable_timeout(struct _bluez_adapter *adapter,
g_dbus_proxy_call(adapter->parent->properties_proxy,
"Set", parameters, 0,
- -1, NULL, NULL, NULL);
+ -1, NULL,
+ simple_reply_callback, NULL);
}
void bluez_adapter_start_discovery(struct _bluez_adapter *adapter)
g_dbus_proxy_call(adapter->proxy,
"StartDiscovery", NULL,
- 0, -1, NULL, NULL, NULL);
+ 0, -1, NULL,
+ simple_reply_callback, NULL);
}
{
g_dbus_proxy_call(adapter->proxy,
"StopDiscovery", NULL,
- 0, -1, NULL, NULL, NULL);
+ 0, -1, NULL,
+ simple_reply_callback, NULL);
}
int bluez_adapter_get_property_powered(struct _bluez_adapter *adapter,
{
g_dbus_proxy_call(adapter->proxy, "RemoveDevice",
g_variant_new("(o)", device->object_path),
- 0, -1, NULL, NULL, NULL);
+ 0, -1, NULL,
+ simple_reply_callback, NULL);
}
const GList *bluez_adapter_get_devices_path(struct _bluez_adapter *adapter)
g_dbus_proxy_call(device->parent->properties_proxy,
"Set", parameter, 0,
- -1, NULL, NULL, NULL);
+ -1, NULL,
+ simple_reply_callback, NULL);
}
void bluez_device_set_alias(struct _bluez_device *device,
g_dbus_proxy_call(device->parent->properties_proxy,
"Set", parameter, 0,
- -1, NULL, NULL, NULL);
+ -1, NULL,
+ simple_reply_callback, NULL);
}
char **bluez_device_get_property_uuids(struct _bluez_device *device)
return property_get_string(device->proxy, "Icon");
}
-struct simple_reply_data {
- GDBusProxy *proxy;
- simple_reply_cb_t reply_cb;
- void *user_data;
-};
-
struct profile_connect_state_notify {
struct _bluez_device *device;
profile_connect_cb_t cb;
return UNKNOWN_PAIRING_ERROR;
}
-static void simple_reply_callback(GObject *source_object, GAsyncResult *res,
- gpointer user_data)
-{
- struct simple_reply_data *reply_data = user_data;
- enum bluez_error_type error_type = ERROR_NONE;
- GError *error = NULL;
- GVariant *ret;
-
- if (!reply_data->proxy)
- goto done;
-
- ret = g_dbus_proxy_call_finish(reply_data->proxy, res, &error);
- if (ret == NULL) {
- DBG("%s", error->message);
- error_type = get_error_type(error);
-
- g_error_free(error);
- } else
- g_variant_unref(ret);
-
- if (!reply_data)
- return;
-
- if (reply_data->reply_cb)
- reply_data->reply_cb(error_type, reply_data->user_data);
-
-done:
- g_free(reply_data);
-}
-
void bluez_device_pair(struct _bluez_device *device,
simple_reply_cb_t pair_cb,
void *user_data)
g_dbus_proxy_call(this_agent->proxy,
"RequestDefaultAgent",
g_variant_new("(o)", path),
- 0, -1, NULL, NULL, NULL);
+ 0, -1, NULL,
+ simple_reply_callback, NULL);
}
void bluez_profile_register_profile(const gchar *path, const gchar *uuid,
g_strlcpy(device_address, address, BT_ADDRESS_STRING_SIZE);
}
}
+
+void simple_reply_callback(GObject *source_object, GAsyncResult *res,
+ gpointer user_data)
+{
+ struct simple_reply_data *reply_data = user_data;
+ enum bluez_error_type error_type = ERROR_NONE;
+ GError *error = NULL;
+ GVariant *ret;
+
+ if (!reply_data || !reply_data->proxy)
+ goto done;
+
+ ret = g_dbus_proxy_call_finish(reply_data->proxy, res, &error);
+ if (ret == NULL) {
+ DBG("%s", error->message);
+ error_type = get_error_type(error);
+
+ g_error_free(error);
+ } else
+ g_variant_unref(ret);
+
+ if (!reply_data)
+ return;
+
+ if (reply_data->reply_cb)
+ reply_data->reply_cb(error_type, reply_data->user_data);
+
+done:
+ g_free(reply_data);
+}
g_dbus_proxy_call(this_client->proxy, "RemoveSession",
g_variant_new("(o)", session->object_path),
- 0, -1, NULL, NULL, NULL);
+ 0, -1, NULL, simple_reply_callback, NULL);
}
struct _obex_session *obex_session_get_session(const char *id)
g_dbus_proxy_call(transfer->proxy.proxy,
"Cancel", NULL, 0,
- -1, NULL, NULL, NULL);
+ -1, NULL,
+ simple_reply_callback, NULL);
}
char *obex_transfer_get_property_source(struct _obex_transfer *transfer)