[mutter] backends: Make MetaBackend available to introspection
- From: Rui Matos <rtcm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] backends: Make MetaBackend available to introspection
- Date: Thu, 7 Aug 2014 09:55:04 +0000 (UTC)
commit 7d54631ebf96454f261504538312f0002ca19403
Author: Rui Matos <tiagomatos gmail com>
Date: Tue Aug 5 14:11:59 2014 +0200
backends: Make MetaBackend available to introspection
This moves meta-backend.h under meta/ and, for now, just exposes to
introspection the methods that we actually need in gnome-shell.
https://bugzilla.gnome.org/show_bug.cgi?id=734301
src/Makefile.am | 3 +-
src/backends/meta-backend-private.h | 25 ++++++++++++-
src/backends/meta-backend.c | 33 ++++++++++++++++-
src/backends/meta-backend.h | 71 -----------------------------------
src/backends/meta-cursor-tracker.c | 2 +-
src/backends/meta-cursor.c | 2 +-
src/backends/meta-idle-monitor.c | 2 +-
src/backends/meta-monitor-manager.c | 2 +-
src/backends/native/meta-launcher.c | 2 +-
src/compositor/compositor.c | 2 +-
src/compositor/meta-stage.c | 2 +-
src/core/display.c | 2 +-
src/core/events.c | 3 +-
src/core/main.c | 2 +-
src/core/window.c | 2 +-
src/meta/meta-backend.h | 47 +++++++++++++++++++++++
src/wayland/meta-wayland-keyboard.c | 3 +-
src/wayland/meta-wayland.c | 2 +-
18 files changed, 120 insertions(+), 87 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
index 6aafb9d..2b40090 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -49,7 +49,7 @@ wayland_protocols = \
libmutter_la_SOURCES = \
backends/meta-backend.c \
- backends/meta-backend.h \
+ meta/meta-backend.h \
backends/meta-backend-private.h \
backends/meta-cursor.c \
backends/meta-cursor.h \
@@ -274,6 +274,7 @@ libmutterinclude_headers = \
meta/group.h \
meta/keybindings.h \
meta/main.h \
+ meta/meta-backend.h \
meta/meta-background-actor.h \
meta/meta-background-group.h \
meta/meta-background.h \
diff --git a/src/backends/meta-backend-private.h b/src/backends/meta-backend-private.h
index 5b15781..13dd53c 100644
--- a/src/backends/meta-backend-private.h
+++ b/src/backends/meta-backend-private.h
@@ -28,7 +28,12 @@
#include <glib-object.h>
-#include "meta-backend.h"
+#include <xkbcommon/xkbcommon.h>
+
+#include <meta/meta-backend.h>
+#include <meta/meta-idle-monitor.h>
+#include "meta-cursor-renderer.h"
+#include "meta-monitor-manager.h"
#define DEFAULT_XKB_RULES_FILE "evdev"
#define DEFAULT_XKB_MODEL "pc105+inet"
@@ -81,4 +86,22 @@ struct _MetaBackendClass
guint idx);
};
+MetaIdleMonitor * meta_backend_get_idle_monitor (MetaBackend *backend,
+ int device_id);
+MetaMonitorManager * meta_backend_get_monitor_manager (MetaBackend *backend);
+MetaCursorRenderer * meta_backend_get_cursor_renderer (MetaBackend *backend);
+
+gboolean meta_backend_grab_device (MetaBackend *backend,
+ int device_id,
+ uint32_t timestamp);
+gboolean meta_backend_ungrab_device (MetaBackend *backend,
+ int device_id,
+ uint32_t timestamp);
+
+void meta_backend_warp_pointer (MetaBackend *backend,
+ int x,
+ int y);
+
+struct xkb_keymap * meta_backend_get_keymap (MetaBackend *backend);
+
#endif /* META_BACKEND_PRIVATE_H */
diff --git a/src/backends/meta-backend.c b/src/backends/meta-backend.c
index 976d19e..d2cd2ee 100644
--- a/src/backends/meta-backend.c
+++ b/src/backends/meta-backend.c
@@ -24,7 +24,7 @@
#include "config.h"
-#include "meta-backend.h"
+#include <meta/meta-backend.h>
#include "meta-backend-private.h"
#include <clutter/clutter.h>
@@ -37,6 +37,13 @@
static MetaBackend *_backend;
+/**
+ * meta_get_backend:
+ *
+ * Accessor for the singleton MetaBackend.
+ *
+ * Returns: (transfer none): The only #MetaBackend there is.
+ */
MetaBackend *
meta_get_backend (void)
{
@@ -145,6 +152,9 @@ meta_backend_post_init (MetaBackend *backend)
META_BACKEND_GET_CLASS (backend)->post_init (backend);
}
+/**
+ * meta_backend_get_idle_monitor: (skip)
+ */
MetaIdleMonitor *
meta_backend_get_idle_monitor (MetaBackend *backend,
int device_id)
@@ -160,6 +170,9 @@ meta_backend_get_idle_monitor (MetaBackend *backend,
return backend->device_monitors[device_id];
}
+/**
+ * meta_backend_get_monitor_manager: (skip)
+ */
MetaMonitorManager *
meta_backend_get_monitor_manager (MetaBackend *backend)
{
@@ -168,6 +181,9 @@ meta_backend_get_monitor_manager (MetaBackend *backend)
return priv->monitor_manager;
}
+/**
+ * meta_backend_get_cursor_renderer: (skip)
+ */
MetaCursorRenderer *
meta_backend_get_cursor_renderer (MetaBackend *backend)
{
@@ -176,6 +192,9 @@ meta_backend_get_cursor_renderer (MetaBackend *backend)
return priv->cursor_renderer;
}
+/**
+ * meta_backend_grab_device: (skip)
+ */
gboolean
meta_backend_grab_device (MetaBackend *backend,
int device_id,
@@ -184,6 +203,9 @@ meta_backend_grab_device (MetaBackend *backend,
return META_BACKEND_GET_CLASS (backend)->grab_device (backend, device_id, timestamp);
}
+/**
+ * meta_backend_ungrab_device: (skip)
+ */
gboolean
meta_backend_ungrab_device (MetaBackend *backend,
int device_id,
@@ -192,6 +214,9 @@ meta_backend_ungrab_device (MetaBackend *backend,
return META_BACKEND_GET_CLASS (backend)->ungrab_device (backend, device_id, timestamp);
}
+/**
+ * meta_backend_warp_pointer: (skip)
+ */
void
meta_backend_warp_pointer (MetaBackend *backend,
int x,
@@ -209,6 +234,9 @@ meta_backend_set_keymap (MetaBackend *backend,
META_BACKEND_GET_CLASS (backend)->set_keymap (backend, layouts, variants, options);
}
+/**
+ * meta_backend_get_keymap: (skip)
+ */
struct xkb_keymap *
meta_backend_get_keymap (MetaBackend *backend)
@@ -295,6 +323,9 @@ static GSourceFuncs event_funcs = {
event_dispatch
};
+/**
+ * meta_clutter_init: (skip)
+ */
void
meta_clutter_init (void)
{
diff --git a/src/backends/meta-cursor-tracker.c b/src/backends/meta-cursor-tracker.c
index 8f8cb94..1b23131 100644
--- a/src/backends/meta-cursor-tracker.c
+++ b/src/backends/meta-cursor-tracker.c
@@ -40,7 +40,7 @@
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
-#include "meta-backend.h"
+#include "meta-backend-private.h"
#include "meta-cursor-private.h"
#include "meta-cursor-tracker-private.h"
diff --git a/src/backends/meta-cursor.c b/src/backends/meta-cursor.c
index c5d90c2..3d88b68 100644
--- a/src/backends/meta-cursor.c
+++ b/src/backends/meta-cursor.c
@@ -27,7 +27,7 @@
#include "display-private.h"
#include "screen-private.h"
-#include "meta-backend.h"
+#include "meta-backend-private.h"
#ifdef HAVE_NATIVE_BACKEND
#include "backends/native/meta-cursor-renderer-native.h"
diff --git a/src/backends/meta-idle-monitor.c b/src/backends/meta-idle-monitor.c
index 5b84ce9..18d6155 100644
--- a/src/backends/meta-idle-monitor.c
+++ b/src/backends/meta-idle-monitor.c
@@ -38,7 +38,7 @@
#include <meta/meta-idle-monitor.h>
#include "meta-idle-monitor-private.h"
#include "meta-idle-monitor-dbus.h"
-#include "meta-backend.h"
+#include "meta-backend-private.h"
G_STATIC_ASSERT(sizeof(unsigned long) == sizeof(gpointer));
diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c
index 81d47c6..127074d 100644
--- a/src/backends/meta-monitor-manager.c
+++ b/src/backends/meta-monitor-manager.c
@@ -37,7 +37,7 @@
#include <meta/errors.h>
#include "meta-monitor-config.h"
#include "backends/x11/meta-monitor-manager-xrandr.h"
-#include "meta-backend.h"
+#include "meta-backend-private.h"
enum {
CONFIRM_DISPLAY_CHANGE,
diff --git a/src/backends/native/meta-launcher.c b/src/backends/native/meta-launcher.c
index 767583e..87b3f28 100644
--- a/src/backends/native/meta-launcher.c
+++ b/src/backends/native/meta-launcher.c
@@ -42,7 +42,7 @@
#include "meta-dbus-login1.h"
#include "wayland/meta-wayland-private.h"
-#include "backends/meta-backend.h"
+#include "backends/meta-backend-private.h"
#include "meta-cursor-renderer-native.h"
struct _MetaLauncher
diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c
index 5cbbea5..494f581 100644
--- a/src/compositor/compositor.c
+++ b/src/compositor/compositor.c
@@ -67,6 +67,7 @@
#include <meta/compositor-mutter.h>
#include <meta/prefs.h>
#include <meta/main.h>
+#include <meta/meta-backend.h>
#include <meta/meta-background-actor.h>
#include <meta/meta-background-group.h>
#include <meta/meta-shadow-factory.h>
@@ -80,7 +81,6 @@
#include <X11/extensions/shape.h>
#include <X11/extensions/Xcomposite.h>
-#include "backends/meta-backend.h"
#include "backends/x11/meta-backend-x11.h"
#include "wayland/meta-wayland-private.h"
diff --git a/src/compositor/meta-stage.c b/src/compositor/meta-stage.c
index 55290be..3f4ddac 100644
--- a/src/compositor/meta-stage.c
+++ b/src/compositor/meta-stage.c
@@ -25,7 +25,7 @@
#include "meta-stage.h"
#include "meta-cursor-private.h"
-#include "meta-backend.h"
+#include <meta/meta-backend.h>
#include <meta/util.h>
struct _MetaStagePrivate {
diff --git a/src/core/display.c b/src/core/display.c
index 0b360ba..58ac047 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -49,7 +49,7 @@
#include "mutter-enum-types.h"
#include "meta-idle-monitor-dbus.h"
#include "meta-cursor-tracker-private.h"
-#include "meta-backend.h"
+#include <meta/meta-backend.h>
#include "backends/x11/meta-backend-x11.h"
#include <clutter/x11/clutter-x11.h>
diff --git a/src/core/events.c b/src/core/events.c
index b2df463..040813a 100644
--- a/src/core/events.c
+++ b/src/core/events.c
@@ -23,9 +23,10 @@
#include "config.h"
#include "events.h"
+#include <meta/meta-backend.h>
+
#include "display-private.h"
#include "window-private.h"
-#include "backends/meta-backend.h"
#include "backends/x11/meta-backend-x11.h"
#ifdef HAVE_NATIVE_BACKEND
diff --git a/src/core/main.c b/src/core/main.c
index 5ed5247..0112935 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -52,6 +52,7 @@
#include "ui.h"
#include <meta/prefs.h>
#include <meta/compositor.h>
+#include <meta/meta-backend.h>
#include <glib-object.h>
#include <glib-unix.h>
@@ -78,7 +79,6 @@
#include "x11/session.h"
#include "wayland/meta-wayland.h"
-#include "backends/meta-backend.h"
/*
* The exit code we'll return to our parent process when we eventually die.
diff --git a/src/core/window.c b/src/core/window.c
index 3386875..988354c 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -58,7 +58,7 @@
#include "wayland/window-wayland.h"
#include "wayland/meta-wayland-private.h"
-#include "backends/meta-backend.h"
+#include "backends/meta-backend-private.h"
/* Windows that unmaximize to a size bigger than that fraction of the workarea
* will be scaled down to that size (while maintaining aspect ratio).
diff --git a/src/meta/meta-backend.h b/src/meta/meta-backend.h
new file mode 100644
index 0000000..da0b452
--- /dev/null
+++ b/src/meta/meta-backend.h
@@ -0,0 +1,47 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+
+/*
+ * Copyright (C) 2014 Red Hat
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ *
+ * Written by:
+ * Jasper St. Pierre <jstpierre mecheye net>
+ */
+
+#ifndef META_BACKEND_H
+#define META_BACKEND_H
+
+#include <glib-object.h>
+
+typedef struct _MetaBackend MetaBackend;
+typedef struct _MetaBackendClass MetaBackendClass;
+
+GType meta_backend_get_type (void);
+
+MetaBackend * meta_get_backend (void);
+
+void meta_backend_set_keymap (MetaBackend *backend,
+ const char *layouts,
+ const char *variants,
+ const char *options);
+
+void meta_backend_lock_layout_group (MetaBackend *backend,
+ guint idx);
+
+void meta_clutter_init (void);
+
+#endif /* META_BACKEND_H */
diff --git a/src/wayland/meta-wayland-keyboard.c b/src/wayland/meta-wayland-keyboard.c
index f8a3e76..f6622d7 100644
--- a/src/wayland/meta-wayland-keyboard.c
+++ b/src/wayland/meta-wayland-keyboard.c
@@ -57,7 +57,8 @@
#include <unistd.h>
#include <sys/mman.h>
-#include "backends/meta-backend.h"
+#include "backends/meta-backend-private.h"
+
#include "meta-wayland-private.h"
static void meta_wayland_keyboard_update_xkb_state (MetaWaylandKeyboard *keyboard);
diff --git a/src/wayland/meta-wayland.c b/src/wayland/meta-wayland.c
index 7e83bf3..70771da 100644
--- a/src/wayland/meta-wayland.c
+++ b/src/wayland/meta-wayland.c
@@ -37,7 +37,7 @@
#include <wayland-server.h>
-#include "backends/meta-backend.h"
+#include <meta/meta-backend.h>
#include "meta-wayland-private.h"
#include "meta-xwayland-private.h"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]