[libpeas] Use G_DEFINE_INTERFACE instead of homemade interfaces
- From: Steve Frécinaux <sfre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libpeas] Use G_DEFINE_INTERFACE instead of homemade interfaces
- Date: Thu, 22 Apr 2010 21:42:20 +0000 (UTC)
commit 4bd202f3468c579bfa58404c658150b9d13face9
Author: Ignacio Casal Quinteiro <icq gnome org>
Date: Fri Apr 2 15:00:00 2010 +0200
Use G_DEFINE_INTERFACE instead of homemade interfaces
This is an API-incompatible change, because PeasConfigurableIface got
renamed into PeasConfigurableInterface in the process (this seems to be
the current policy as it is the name set by G_DEFINE_INTERFACE).
Also bump gobject dependency to 2.23.6 to ensure G_DEFINE_INTERFACE
availability.
configure.ac | 2 +-
libpeasui/peas-ui-configurable.c | 37 ++-----------------
libpeasui/peas-ui-configurable.h | 8 ++--
.../helloworld/peasdemo-hello-world-plugin.c | 4 +-
4 files changed, 11 insertions(+), 40 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index b708556..33bb698 100644
--- a/configure.ac
+++ b/configure.ac
@@ -96,7 +96,7 @@ dnl ================================================================
PKG_CHECK_MODULES(PEAS, [
glib-2.0 >= 2.18.0
- gobject-2.0 >= 2.18.0
+ gobject-2.0 >= 2.23.6
gmodule-2.0 >= 2.18.0
])
diff --git a/libpeasui/peas-ui-configurable.c b/libpeasui/peas-ui-configurable.c
index 6cb369e..e2d60b9 100644
--- a/libpeasui/peas-ui-configurable.c
+++ b/libpeasui/peas-ui-configurable.c
@@ -44,39 +44,10 @@
* but does not always return a valid #GtkWindow.
**/
-static void peas_ui_configurable_base_init (gpointer g_class);
-
-GType
-peas_ui_configurable_get_type (void)
-{
- static volatile gsize the_type = 0;
-
- if (g_once_init_enter (&the_type))
- {
- const GTypeInfo type_info = {
- sizeof (PeasUIConfigurableIface), /* class_size */
- peas_ui_configurable_base_init, /* base_init */
- NULL, /* base_finalize */
- NULL, /* class_init */
- NULL, /* class_finalize */
- NULL, /* class_data */
- 0
- };
-
- GType type_id = g_type_register_static (G_TYPE_INTERFACE,
- g_intern_static_string ("PeasUIConfigurable"),
- &type_info, 0);
-
- g_type_interface_add_prerequisite (type_id, PEAS_TYPE_PLUGIN);
-
- g_once_init_leave (&the_type, type_id);
- }
-
- return the_type;
-}
+G_DEFINE_INTERFACE(PeasUIConfigurable, peas_ui_configurable, PEAS_TYPE_PLUGIN)
static void
-peas_ui_configurable_base_init (gpointer g_class)
+peas_ui_configurable_default_init (PeasUIConfigurableInterface *iface)
{
}
@@ -95,7 +66,7 @@ peas_ui_configurable_base_init (gpointer g_class)
gboolean
peas_ui_configurable_is_configurable (PeasUIConfigurable *configurable)
{
- PeasUIConfigurableIface *iface;
+ PeasUIConfigurableInterface *iface;
g_return_val_if_fail (PEAS_UI_IS_CONFIGURABLE (configurable), FALSE);
@@ -121,7 +92,7 @@ peas_ui_configurable_is_configurable (PeasUIConfigurable *configurable)
GtkWidget *
peas_ui_configurable_create_configure_dialog (PeasUIConfigurable *configurable)
{
- PeasUIConfigurableIface *iface;
+ PeasUIConfigurableInterface *iface;
g_return_val_if_fail (PEAS_UI_IS_CONFIGURABLE (configurable), NULL);
diff --git a/libpeasui/peas-ui-configurable.h b/libpeasui/peas-ui-configurable.h
index 8458a49..711b3f4 100644
--- a/libpeasui/peas-ui-configurable.h
+++ b/libpeasui/peas-ui-configurable.h
@@ -31,14 +31,14 @@ G_BEGIN_DECLS
*/
#define PEAS_UI_TYPE_CONFIGURABLE (peas_ui_configurable_get_type ())
#define PEAS_UI_CONFIGURABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PEAS_UI_TYPE_CONFIGURABLE, PeasUIConfigurable))
-#define PEAS_UI_CONFIGURABLE_IFACE(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), PEAS_UI_TYPE_CONFIGURABLE, PeasUIConfigurableIface))
+#define PEAS_UI_CONFIGURABLE_IFACE(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), PEAS_UI_TYPE_CONFIGURABLE, PeasUIConfigurableInterface))
#define PEAS_UI_IS_CONFIGURABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PEAS_UI_TYPE_CONFIGURABLE))
-#define PEAS_UI_CONFIGURABLE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), PEAS_UI_TYPE_CONFIGURABLE, PeasUIConfigurableIface))
+#define PEAS_UI_CONFIGURABLE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), PEAS_UI_TYPE_CONFIGURABLE, PeasUIConfigurableInterface))
typedef struct _PeasUIConfigurable PeasUIConfigurable; /* dummy typedef */
-typedef struct _PeasUIConfigurableIface PeasUIConfigurableIface;
+typedef struct _PeasUIConfigurableInterface PeasUIConfigurableInterface;
-struct _PeasUIConfigurableIface
+struct _PeasUIConfigurableInterface
{
GTypeInterface g_iface;
diff --git a/peas-demo/plugins/helloworld/peasdemo-hello-world-plugin.c b/peas-demo/plugins/helloworld/peasdemo-hello-world-plugin.c
index 16773a4..3c41dfd 100644
--- a/peas-demo/plugins/helloworld/peasdemo-hello-world-plugin.c
+++ b/peas-demo/plugins/helloworld/peasdemo-hello-world-plugin.c
@@ -9,7 +9,7 @@
#define WINDOW_DATA_KEY "PeasDemoHelloWorldPluginWindowData"
-static void peas_ui_configurable_iface_init (PeasUIConfigurableIface *iface);
+static void peas_ui_configurable_iface_init (PeasUIConfigurableInterface *iface);
G_DEFINE_DYNAMIC_TYPE_EXTENDED (PeasDemoHelloWorldPlugin,
peasdemo_hello_world_plugin,
@@ -140,7 +140,7 @@ peasdemo_hello_world_plugin_class_init (PeasDemoHelloWorldPluginClass *klass)
}
static void
-peas_ui_configurable_iface_init (PeasUIConfigurableIface *iface)
+peas_ui_configurable_iface_init (PeasUIConfigurableInterface *iface)
{
iface->create_configure_dialog = peasdemo_hello_world_plugin_create_configure_dialog;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]