This enables us to prevent callers from calling backend-specific functions on
mismatching backends.

Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>
---
 src/libinput-private.h | 6 ++++++
 src/path.c             | 1 +
 src/udev-seat.c        | 1 +
 3 files changed, 8 insertions(+)

diff --git a/src/libinput-private.h b/src/libinput-private.h
index 0d7de90..ee5a17d 100644
--- a/src/libinput-private.h
+++ b/src/libinput-private.h
@@ -26,7 +26,13 @@
 #include "libinput.h"
 #include "libinput-util.h"
 
+enum libinput_backend_type {
+       BACKEND_UDEV,
+       BACKEND_PATH,
+};
+
 struct libinput_interface_backend {
+       enum libinput_backend_type backend_type;
        int (*resume)(struct libinput *libinput);
        void (*suspend)(struct libinput *libinput);
        void (*destroy)(struct libinput *libinput);
diff --git a/src/path.c b/src/path.c
index de2ca49..4924b31 100644
--- a/src/path.c
+++ b/src/path.c
@@ -167,6 +167,7 @@ path_input_destroy(struct libinput *input)
 }
 
 static const struct libinput_interface_backend interface_backend = {
+       .backend_type = BACKEND_PATH,
        .resume = path_input_enable,
        .suspend = path_input_disable,
        .destroy = path_input_destroy,
diff --git a/src/udev-seat.c b/src/udev-seat.c
index 957e762..b564c83 100644
--- a/src/udev-seat.c
+++ b/src/udev-seat.c
@@ -330,6 +330,7 @@ udev_seat_get_named(struct udev_input *input, const char 
*seat_name)
 }
 
 static const struct libinput_interface_backend interface_backend = {
+       .backend_type = BACKEND_UDEV,
        .resume = udev_input_enable,
        .suspend = udev_input_disable,
        .destroy = udev_input_destroy,
-- 
1.8.4.2

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to