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.
This commit is contained in:
Kenny Levinsen 2021-04-11 16:27:46 +02:00 committed by Simon Ser
parent 3f87c2caea
commit 7f09085461
7 changed files with 140 additions and 284 deletions

View file

@ -6,10 +6,11 @@
#include <sys/types.h>
#include <wayland-server-core.h>
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;

View file

@ -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 <wlr/backend/session.h>
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