aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKenny Levinsen <kl@kl.wtf>2021-04-11 16:27:46 +0200
committerSimon Ser <contact@emersion.fr>2021-04-14 23:25:07 +0200
commit7f0908546149a39f8db1e842f679364e5d1e59cb (patch)
treecd9d84a6320b2a426cd3e62c7ba4f6bcf03490fa /include
parent3f87c2caea6656cf409f99040a5af8deba9c19c1 (diff)
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.
Diffstat (limited to 'include')
-rw-r--r--include/backend/session/session.h6
-rw-r--r--include/wlr/backend/session.h7
-rw-r--r--include/wlr/backend/session/interface.h22
3 files changed, 11 insertions, 24 deletions
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 <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;
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 <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