[gnome-panel] don't use a gio extension point



commit ee48501448776ca87eaae30d33f80d97ff1ce52b
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Thu Oct 13 00:04:13 2016 +0300

    don't use a gio extension point

 gnome-panel/Makefile.am                            |    3 -
 .../panel-applets-manager-dbus.c                   |   10 +--
 gnome-panel/panel-applets-manager.c                |   29 +--------
 gnome-panel/panel-applets-manager.h                |    7 --
 gnome-panel/panel-modules.c                        |   59 --------------------
 gnome-panel/panel-modules.h                        |   28 ---------
 gnome-panel/panel-test-applets.c                   |    4 -
 7 files changed, 7 insertions(+), 133 deletions(-)
---
diff --git a/gnome-panel/Makefile.am b/gnome-panel/Makefile.am
index 307e948..8028333 100644
--- a/gnome-panel/Makefile.am
+++ b/gnome-panel/Makefile.am
@@ -56,7 +56,6 @@ panel_sources =                       \
        panel-addto-dialog.c    \
        panel-ditem-editor.c    \
        panel-layout.c          \
-       panel-modules.c         \
        panel-object-loader.c   \
        panel-user-menu.c       \
        panel-applet-info.c
@@ -103,7 +102,6 @@ panel_headers =                     \
        panel-ditem-editor.h    \
        panel-icon-names.h      \
        panel-layout.h          \
-       panel-modules.h         \
        panel-object-loader.h   \
        panel-schemas.h         \
        panel-user-menu.h       \
@@ -169,7 +167,6 @@ gnome_desktop_item_edit_LDFLAGS = \
 
 panel_test_applets_SOURCES =                   \
        $(panel_test_applets_BUILT_SOURCES)     \
-       panel-modules.c                         \
        panel-applet-info.c                     \
        panel-applets-manager.c                 \
        panel-test-applets.c
diff --git a/gnome-panel/libpanel-applet-private/panel-applets-manager-dbus.c 
b/gnome-panel/libpanel-applet-private/panel-applets-manager-dbus.c
index 0fdc40f..3b3f5dc 100644
--- a/gnome-panel/libpanel-applet-private/panel-applets-manager-dbus.c
+++ b/gnome-panel/libpanel-applet-private/panel-applets-manager-dbus.c
@@ -30,13 +30,9 @@
 
 #include "panel-applets-manager-dbus.h"
 
-G_DEFINE_TYPE_WITH_CODE (PanelAppletsManagerDBus,
-                        panel_applets_manager_dbus,
-                        PANEL_TYPE_APPLETS_MANAGER,
-                        g_io_extension_point_implement (PANEL_APPLETS_MANAGER_EXTENSION_POINT_NAME,
-                                                        g_define_type_id,
-                                                        "dbus",
-                                                        10))
+G_DEFINE_TYPE (PanelAppletsManagerDBus,
+               panel_applets_manager_dbus,
+               PANEL_TYPE_APPLETS_MANAGER)
 
 struct _PanelAppletsManagerDBusPrivate
 {
diff --git a/gnome-panel/panel-applets-manager.c b/gnome-panel/panel-applets-manager.c
index 16c3320..9f363f3 100644
--- a/gnome-panel/panel-applets-manager.c
+++ b/gnome-panel/panel-applets-manager.c
@@ -22,10 +22,9 @@
 
 #include <gio/gio.h>
 
+#include <libpanel-applet-private/panel-applets-manager-dbus.h>
 #include <libpanel-util/panel-cleanup.h>
 
-#include "panel-modules.h"
-
 #include "panel-applets-manager.h"
 
 G_DEFINE_ABSTRACT_TYPE (PanelAppletsManager, panel_applets_manager, G_TYPE_OBJECT)
@@ -55,35 +54,15 @@ _panel_applets_manager_cleanup (gpointer data)
 static void
 _panel_applets_managers_ensure_loaded (void)
 {
-       GIOExtensionPoint *point;
-       GList             *extensions, *l;
+       GObject *manager;
 
        if (panel_applets_managers != NULL)
                return;
 
        panel_cleanup_register (PANEL_CLEAN_FUNC (_panel_applets_manager_cleanup), NULL);
 
-       panel_modules_ensure_loaded ();
-
-       point = g_io_extension_point_lookup (PANEL_APPLETS_MANAGER_EXTENSION_POINT_NAME);
-
-       extensions = g_io_extension_point_get_extensions (point);
-
-       if (extensions == NULL)
-               g_error ("No PanelAppletsManager implementations exist.");
-
-       for (l = extensions; l != NULL; l = l->next) {
-               GIOExtension *extension;
-               GType         type;
-               GObject      *object;
-
-               extension = l->data;
-               type = g_io_extension_get_type (extension);
-               object = g_object_new (type, NULL);
-               panel_applets_managers = g_slist_prepend (panel_applets_managers, object);
-       }
-
-       panel_applets_managers = g_slist_reverse (panel_applets_managers);
+       manager = g_object_new (PANEL_TYPE_APPLETS_MANAGER_DBUS, NULL);
+       panel_applets_managers = g_slist_append (panel_applets_managers, manager);
 }
 
 GList *
diff --git a/gnome-panel/panel-applets-manager.h b/gnome-panel/panel-applets-manager.h
index 4539265..8f3463c 100644
--- a/gnome-panel/panel-applets-manager.h
+++ b/gnome-panel/panel-applets-manager.h
@@ -35,13 +35,6 @@ G_BEGIN_DECLS
 #define PANEL_IS_APPLETS_MANAGER_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), 
PANEL_TYPE_APPLETS_MANAGER))
 #define PANEL_APPLETS_MANAGER_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS((obj), PANEL_TYPE_APPLETS_MANAGER, 
PanelAppletsManagerClass))
 
-/**
- * PANEL_APPLETS_MANAGER_EXTENSION_POINT_NAME:
- *
- * Extension point for #PanelAppletsManager functionality.
- **/
-#define PANEL_APPLETS_MANAGER_EXTENSION_POINT_NAME "panel-applets-manager"
-
 typedef struct _PanelAppletsManager            PanelAppletsManager;
 typedef struct _PanelAppletsManagerClass       PanelAppletsManagerClass;
 
diff --git a/gnome-panel/panel-test-applets.c b/gnome-panel/panel-test-applets.c
index 4b51487..1ab5782 100644
--- a/gnome-panel/panel-test-applets.c
+++ b/gnome-panel/panel-test-applets.c
@@ -16,8 +16,6 @@
 #include <libpanel-applet-private/panel-applet-container.h>
 #include <libpanel-applet-private/panel-applets-manager-dbus.h>
 
-#include "panel-modules.h"
-
 G_GNUC_UNUSED void on_execute_button_clicked (GtkButton *button, gpointer dummy);
 
 static GtkWidget *win = NULL;
@@ -281,8 +279,6 @@ main (int argc, char **argv)
                return 1;
        }
 
-       panel_modules_ensure_loaded ();
-
        if (g_file_test ("../libpanel-applet", G_FILE_TEST_IS_DIR)) {
                applets_dir = g_strdup_printf ("%s:../libpanel-applet", PANEL_APPLETS_DIR);
                g_setenv ("GNOME_PANEL_APPLETS_DIR", applets_dir, FALSE);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]