return event->type;
}
+LIBINPUT_EXPORT void
+libinput_set_user_data(struct libinput *libinput,
+ void *user_data)
+{
+ libinput->user_data = user_data;
+}
+
LIBINPUT_EXPORT void *
libinput_get_user_data(struct libinput *libinput)
{
* @ingroup base
*
* @param libinput A previously initialized libinput context
+ * @param user_data Caller-specific data passed to the various callback
+ * interfaces.
+ */
+void
+libinput_set_user_data(struct libinput *libinput,
+ void *user_data);
+
+/**
+ * @ingroup base
+ *
+ * @param libinput A previously initialized libinput context
* @return the caller-specific data previously assigned in
* libinput_create_udev().
*/
libinput_seat_ref;
libinput_seat_set_user_data;
libinput_seat_unref;
+ libinput_set_user_data;
libinput_suspend;
libinput_udev_assign_seat;
libinput_udev_create_context;
}
END_TEST
+START_TEST(path_set_user_data)
+{
+ struct libinput *li;
+ int data1, data2;
+
+ li = libinput_path_create_context(&simple_interface, &data1);
+ ck_assert(li != NULL);
+ ck_assert(libinput_get_user_data(li) == &data1);
+ libinput_set_user_data(li, &data2);
+ ck_assert(libinput_get_user_data(li) == &data2);
+
+ libinput_unref(li);
+}
+END_TEST
+
START_TEST(path_added_seat)
{
struct litest_device *dev = litest_current_device();
litest_add_no_device("path:create", path_create_NULL);
litest_add_no_device("path:create", path_create_invalid);
litest_add_no_device("path:create", path_create_destroy);
+ litest_add_no_device("path:create", path_set_user_data);
litest_add_no_device("path:suspend", path_suspend);
litest_add_no_device("path:suspend", path_double_suspend);
litest_add_no_device("path:suspend", path_double_resume);
}
END_TEST
+START_TEST(udev_set_user_data)
+{
+ struct libinput *li;
+ struct udev *udev;
+ int data1, data2;
+
+ udev = udev_new();
+ ck_assert(udev != NULL);
+
+ li = libinput_udev_create_context(&simple_interface, &data1, udev);
+ ck_assert(li != NULL);
+ ck_assert(libinput_get_user_data(li) == &data1);
+ libinput_set_user_data(li, &data2);
+ ck_assert(libinput_get_user_data(li) == &data2);
+
+ libinput_unref(li);
+ udev_unref(udev);
+}
+END_TEST
+
/**
* This test only works if there's at least one device in the system that is
* assigned the default seat. Should cover the 99% case.
litest_add_no_device("udev:create", udev_create_NULL);
litest_add_no_device("udev:create", udev_create_seat0);
litest_add_no_device("udev:create", udev_create_empty_seat);
+ litest_add_no_device("udev:create", udev_set_user_data);
litest_add_no_device("udev:seat", udev_added_seat_default);
litest_add_no_device("udev:seat", udev_change_seat);