[mutter] backends: Make MetaBackend available to introspection



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]