summaryrefslogtreecommitdiffstats
path: root/input/manager.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2007-04-12 09:59:15 +0000
committerMarcel Holtmann <marcel@holtmann.org>2007-04-12 09:59:15 +0000
commite3aec1dd412fc0adb0587edf750979e4d18906b0 (patch)
tree67224966c44b0670b12f934b998cc167c518b94f /input/manager.c
parent1f6bcd79a30ce899eec1245956c48876831439eb (diff)
Keep the device structure local
Diffstat (limited to 'input/manager.c')
-rw-r--r--input/manager.c31
1 files changed, 10 insertions, 21 deletions
diff --git a/input/manager.c b/input/manager.c
index bd75dc5a..f74349df 100644
--- a/input/manager.c
+++ b/input/manager.c
@@ -115,20 +115,6 @@ static void pending_req_free(struct pending_req *pr)
g_free(pr);
}
-static int path_bdaddr_cmp(const char *path, const bdaddr_t *bdaddr)
-{
- struct device *idev;
-
- if (!dbus_connection_get_object_path_data(connection, path,
- (void *) &idev))
- return -1;
-
- if (!idev)
- return -1;
-
- return bacmp(&idev->dst, bdaddr);
-}
-
static int get_record(struct pending_req *pr, uint32_t handle,
DBusPendingCallNotifyFunction cb)
{
@@ -637,6 +623,16 @@ done:
dbus_pending_call_unref(call);
}
+static int path_bdaddr_cmp(const char *path, const bdaddr_t *bdaddr)
+{
+ bdaddr_t src, dst;
+
+ if (input_device_get_bdaddr(connection, path, &src, &dst) < 0)
+ return -1;
+
+ return bacmp(&dst, bdaddr);
+}
+
static DBusHandlerResult create_device(DBusConnection *conn,
DBusMessage *msg, void *data)
{
@@ -710,7 +706,6 @@ static DBusHandlerResult create_device(DBusConnection *conn,
static DBusHandlerResult remove_device(DBusConnection *conn,
DBusMessage *msg, void *data)
{
- struct device *idev;
DBusMessage *reply;
DBusError derr;
GSList *l;
@@ -736,12 +731,6 @@ static DBusHandlerResult remove_device(DBusConnection *conn,
g_free(l->data);
device_paths = g_slist_remove(device_paths, l->data);
- if (!dbus_connection_get_object_path_data(connection,
- path, (void *) &idev))
- return err_does_not_exist(conn, msg, "Input doesn't exist");
-
- del_stored_device_info(&idev->src, &idev->dst);
-
if (input_device_unregister(conn, path) < 0) {
dbus_message_unref(reply);
return err_failed(conn, msg, "D-Bus path unregistration failed");