Refactor out wlr_input_device_state

This commit is contained in:
Dominique Martinet 2017-08-14 14:54:53 +02:00
parent 1e1e9887fb
commit e6ad67911b
8 changed files with 49 additions and 47 deletions

View file

@ -151,6 +151,7 @@ error_backend:
return NULL;
}
struct libinput_device *wlr_libinput_get_device_handle(struct wlr_input_device *dev) {
return dev->state->handle;
struct libinput_device *wlr_libinput_get_device_handle(struct wlr_input_device *_dev) {
struct wlr_libinput_input_device *dev = (struct wlr_libinput_input_device *)_dev;
return dev->handle;
}

View file

@ -23,9 +23,10 @@ struct wlr_input_device *get_appropriate_device(
return NULL;
}
static void wlr_libinput_device_destroy(struct wlr_input_device_state *state) {
libinput_device_unref(state->handle);
free(state);
static void wlr_libinput_device_destroy(struct wlr_input_device *_dev) {
struct wlr_libinput_input_device *dev = (struct wlr_libinput_input_device *)_dev;
libinput_device_unref(dev->handle);
free(dev);
}
static struct wlr_input_device_impl input_device_impl = {
@ -38,13 +39,13 @@ static struct wlr_input_device *allocate_device(
int vendor = libinput_device_get_id_vendor(libinput_dev);
int product = libinput_device_get_id_product(libinput_dev);
const char *name = libinput_device_get_name(libinput_dev);
struct wlr_input_device_state *devstate =
calloc(1, sizeof(struct wlr_input_device_state));
devstate->handle = libinput_dev;
struct wlr_libinput_input_device *wlr_libinput_dev =
calloc(1, sizeof(struct wlr_libinput_input_device));
struct wlr_input_device *wlr_dev = &wlr_libinput_dev->wlr_input_device;
wlr_libinput_dev->handle = libinput_dev;
libinput_device_ref(libinput_dev);
struct wlr_input_device *wlr_dev = wlr_input_device_create(
type, &input_device_impl, devstate,
name, vendor, product);
wlr_input_device_init(wlr_dev, type, &input_device_impl,
name, vendor, product);
list_add(wlr_devices, wlr_dev);
return wlr_dev;
}