diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-06-04 19:30:37 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2017-06-04 19:30:50 -0400 |
commit | 7d82476590033a93761035ead1dd761b68c5c049 (patch) | |
tree | 7efe3f19d428df18a280906f65b4839b8168ed6f /include/wlr | |
parent | 7051d0e79dc74426c312f9eee0ce95adf85ff7c9 (diff) |
Refactor type implementations
Diffstat (limited to 'include/wlr')
-rw-r--r-- | include/wlr/backend/interface.h | 17 | ||||
-rw-r--r-- | include/wlr/session.h | 4 | ||||
-rw-r--r-- | include/wlr/session/interface.h | 15 |
3 files changed, 34 insertions, 2 deletions
diff --git a/include/wlr/backend/interface.h b/include/wlr/backend/interface.h new file mode 100644 index 00000000..15cfb6c3 --- /dev/null +++ b/include/wlr/backend/interface.h @@ -0,0 +1,17 @@ +#ifndef _WLR_BACKEND_INTERFACE_H +#define _WLR_BACKEND_INTERFACE_H + +#include <stdbool.h> +#include <wlr/backend.h> + +struct wlr_backend_state; + +struct wlr_backend_impl { + bool (*init)(struct wlr_backend_state *state); + void (*destroy)(struct wlr_backend_state *state); +}; + +struct wlr_backend *wlr_backend_create(const struct wlr_backend_impl *impl, + struct wlr_backend_state *state); + +#endif diff --git a/include/wlr/session.h b/include/wlr/session.h index 5f210f10..bd5a96c0 100644 --- a/include/wlr/session.h +++ b/include/wlr/session.h @@ -4,7 +4,7 @@ #include <wayland-server.h> #include <sys/types.h> -struct session_interface; +struct session_impl; // Passed to the listeners of device_paused/resumed struct device_arg { @@ -13,7 +13,7 @@ struct device_arg { }; struct wlr_session { - const struct session_interface *iface; + const struct session_impl *impl; struct wl_signal device_paused; struct wl_signal device_resumed; diff --git a/include/wlr/session/interface.h b/include/wlr/session/interface.h new file mode 100644 index 00000000..78256dd6 --- /dev/null +++ b/include/wlr/session/interface.h @@ -0,0 +1,15 @@ +#ifndef WLR_SESSION_INTERFACE_H +#define WLR_SESSION_INTERFACE_H + +#include <wlr/session.h> + +struct session_impl { + struct wlr_session *(*start)(struct wl_display *disp); + void (*finish)(struct wlr_session *session); + int (*open)(struct wlr_session *restrict session, + const char *restrict path); + void (*close)(struct wlr_session *session, int fd); + bool (*change_vt)(struct wlr_session *session, int vt); +}; + +#endif |