diff --git a/input/device.c b/input/device.c
index 0ab63c0..e4e0b21 100644
--- a/input/device.c
+++ b/input/device.c
};
static struct input_device *input_device_new(DBusConnection *conn,
- struct btd_device *device, const char *path,
- const bdaddr_t *src, const bdaddr_t *dst,
- const uint32_t handle)
+ struct btd_device *device, const char *path,
+ const uint32_t handle)
{
+ struct btd_adapter *adapter = device_get_adapter(device);
struct input_device *idev;
char name[249], src_addr[18], dst_addr[18];
idev = g_new0(struct input_device, 1);
- bacpy(&idev->src, src);
- bacpy(&idev->dst, dst);
+ adapter_get_address(adapter, &idev->src);
+ device_get_address(device, &idev->dst, NULL);
idev->device = btd_device_ref(device);
idev->path = g_strdup(path);
idev->conn = dbus_connection_ref(conn);
idev->handle = handle;
- ba2str(src, src_addr);
- ba2str(dst, dst_addr);
+ ba2str(&idev->src, src_addr);
+ ba2str(&idev->dst, dst_addr);
if (read_device_name(src_addr, dst_addr, name) == 0)
idev->name = g_strdup(name);
}
int input_device_register(DBusConnection *conn, struct btd_device *device,
- const char *path, const bdaddr_t *src,
- const bdaddr_t *dst, const char *uuid,
- uint32_t handle, int timeout)
+ const char *path, const char *uuid,
+ uint32_t handle, int timeout)
{
struct input_device *idev;
struct input_conn *iconn;
idev = find_device_by_path(devices, path);
if (!idev) {
- idev = input_device_new(conn, device, path, src, dst, handle);
+ idev = input_device_new(conn, device, path, handle);
if (!idev)
return -EINVAL;
devices = g_slist_append(devices, idev);
}
int fake_input_register(DBusConnection *conn, struct btd_device *device,
- const char *path, bdaddr_t *src, bdaddr_t *dst,
- const char *uuid, uint8_t channel)
+ const char *path, const char *uuid, uint8_t channel)
{
struct input_device *idev;
struct input_conn *iconn;
idev = find_device_by_path(devices, path);
if (!idev) {
- idev = input_device_new(conn, device, path, src, dst, 0);
+ idev = input_device_new(conn, device, path, 0);
if (!idev)
return -EINVAL;
devices = g_slist_append(devices, idev);
diff --git a/input/device.h b/input/device.h
index 14c0f97..356d9ed 100644
--- a/input/device.h
+++ b/input/device.h
};
int fake_input_register(DBusConnection *conn, struct btd_device *device,
- const char *path, bdaddr_t *src, bdaddr_t *dst,
- const char *uuid, uint8_t channel);
+ const char *path, const char *uuid, uint8_t channel);
int input_device_register(DBusConnection *conn, struct btd_device *device,
- const char *path, const bdaddr_t *src,
- const bdaddr_t *dst, const char *uuid,
- uint32_t handle, int timeout);
+ const char *path, const char *uuid,
+ uint32_t handle, int timeout);
int input_device_unregister(const char *path, const char *uuid);
int input_device_set_channel(const bdaddr_t *src, const bdaddr_t *dst, int psm,
diff --git a/input/manager.c b/input/manager.c
index ede06be..9bcab10 100644
--- a/input/manager.c
+++ b/input/manager.c
static int hid_device_probe(struct btd_device *device, GSList *uuids)
{
- struct btd_adapter *adapter = device_get_adapter(device);
const gchar *path = device_get_path(device);
const sdp_record_t *rec = btd_device_get_record(device, uuids->data);
- bdaddr_t src, dst;
DBG("path %s", path);
if (!rec)
return -1;
- adapter_get_address(adapter, &src);
- device_get_address(device, &dst, NULL);
-
- return input_device_register(connection, device, path, &src, &dst,
- HID_UUID, rec->handle, idle_timeout * 60);
+ return input_device_register(connection, device, path, HID_UUID,
+ rec->handle, idle_timeout * 60);
}
static void hid_device_remove(struct btd_device *device)
static int headset_probe(struct btd_device *device, GSList *uuids)
{
- struct btd_adapter *adapter = device_get_adapter(device);
const gchar *path = device_get_path(device);
const sdp_record_t *record;
sdp_list_t *protos;
int ch;
- bdaddr_t src, dst;
DBG("path %s", path);
return -EINVAL;
}
- adapter_get_address(adapter, &src);
- device_get_address(device, &dst, NULL);
-
- return fake_input_register(connection, device, path, &src, &dst,
- HSP_HS_UUID, ch);
+ return fake_input_register(connection, device, path, HSP_HS_UUID, ch);
}
static void headset_remove(struct btd_device *device)