wayland: Make seat devices GObjects

This will make it possible to add signals and other GObject features.

https://bugzilla.gnome.org/show_bug.cgi?id=771050
This commit is contained in:
Jonas Ådahl
2016-04-01 16:39:30 +08:00
parent d893adb290
commit e5a359a032
20 changed files with 193 additions and 121 deletions

View File

@@ -49,6 +49,13 @@
#include <wayland-server.h>
#include <xkbcommon/xkbcommon.h>
#include "wayland/meta-wayland-types.h"
#define META_TYPE_WAYLAND_KEYBOARD (meta_wayland_keyboard_get_type ())
G_DECLARE_FINAL_TYPE (MetaWaylandKeyboard, meta_wayland_keyboard,
META, WAYLAND_KEYBOARD,
GObject);
struct _MetaWaylandKeyboardGrabInterface
{
gboolean (*key) (MetaWaylandKeyboardGrab *grab,
@@ -74,7 +81,9 @@ typedef struct
struct _MetaWaylandKeyboard
{
struct wl_display *display;
GObject parent;
MetaWaylandSeat *seat;
struct wl_list resource_list;
struct wl_list focus_resource_list;
@@ -93,10 +102,10 @@ struct _MetaWaylandKeyboard
GSettings *settings;
};
void meta_wayland_keyboard_init (MetaWaylandKeyboard *keyboard,
struct wl_display *display);
void meta_wayland_keyboard_enable (MetaWaylandKeyboard *keyboard,
MetaWaylandSeat *seat);
void meta_wayland_keyboard_release (MetaWaylandKeyboard *keyboard);
void meta_wayland_keyboard_disable (MetaWaylandKeyboard *keyboard);
void meta_wayland_keyboard_update (MetaWaylandKeyboard *keyboard,
const ClutterKeyEvent *event);