From 7f0908546149a39f8db1e842f679364e5d1e59cb Mon Sep 17 00:00:00 2001 From: Kenny Levinsen Date: Sun, 11 Apr 2021 16:27:46 +0200 Subject: backend/session: Remove session_impl libseat provides all session functionality, so there is no longer need for a session backend abstraction. The libseat device ID, seat handle and event loop handle are moved to the main wlr_session and wlr_device structs. --- include/backend/session/session.h | 6 ++++++ include/wlr/backend/session.h | 7 +++++-- include/wlr/backend/session/interface.h | 22 ---------------------- 3 files changed, 11 insertions(+), 24 deletions(-) delete mode 100644 include/wlr/backend/session/interface.h (limited to 'include') diff --git a/include/backend/session/session.h b/include/backend/session/session.h index 626f470a..ebe6fc70 100644 --- a/include/backend/session/session.h +++ b/include/backend/session/session.h @@ -3,6 +3,12 @@ struct wlr_session; +struct wlr_session *libseat_session_create(struct wl_display *disp); +void libseat_session_destroy(struct wlr_session *base); +int libseat_session_open_device(struct wlr_session *base, const char *path); +void libseat_session_close_device(struct wlr_session *base, int fd); +bool libseat_change_vt(struct wlr_session *base, unsigned vt); + void session_init(struct wlr_session *session); #endif diff --git a/include/wlr/backend/session.h b/include/wlr/backend/session.h index 6fee0421..0c744673 100644 --- a/include/wlr/backend/session.h +++ b/include/wlr/backend/session.h @@ -6,10 +6,11 @@ #include #include -struct session_impl; +struct libseat; struct wlr_device { int fd; + int device_id; dev_t dev; struct wl_list link; @@ -19,7 +20,6 @@ struct wlr_device { }; struct wlr_session { - const struct session_impl *impl; /* * Signal for when the session becomes active/inactive. * It's called when we swap virtual terminal. @@ -37,6 +37,9 @@ struct wlr_session { struct udev_monitor *mon; struct wl_event_source *udev_event; + struct libseat *seat_handle; + struct wl_event_source *libseat_event; + struct wl_list devices; struct wl_display *display; diff --git a/include/wlr/backend/session/interface.h b/include/wlr/backend/session/interface.h deleted file mode 100644 index 5ccf9c8a..00000000 --- a/include/wlr/backend/session/interface.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * This an unstable interface of wlroots. No guarantees are made regarding the - * future consistency of this API. - */ -#ifndef WLR_USE_UNSTABLE -#error "Add -DWLR_USE_UNSTABLE to enable unstable wlroots features" -#endif - -#ifndef WLR_BACKEND_SESSION_INTERFACE_H -#define WLR_BACKEND_SESSION_INTERFACE_H - -#include - -struct session_impl { - struct wlr_session *(*create)(struct wl_display *disp); - void (*destroy)(struct wlr_session *session); - int (*open)(struct wlr_session *session, const char *path); - void (*close)(struct wlr_session *session, int fd); - bool (*change_vt)(struct wlr_session *session, unsigned vt); -}; - -#endif -- cgit v1.2.3