diff options
Diffstat (limited to 'e-util')
-rw-r--r-- | e-util/ChangeLog | 6 | ||||
-rw-r--r-- | e-util/Makefile.am | 3 | ||||
-rw-r--r-- | e-util/e-component-listener.c | 79 | ||||
-rw-r--r-- | e-util/e-component-listener.h | 17 |
4 files changed, 55 insertions, 50 deletions
diff --git a/e-util/ChangeLog b/e-util/ChangeLog index acf6cbeee6..c4d6b1e222 100644 --- a/e-util/ChangeLog +++ b/e-util/ChangeLog @@ -1,3 +1,9 @@ +2002-11-05 Rodrigo Moya <rodrigo@ximian.com> + + * e-component-listener.[ch]: ported to GObject. + + * Makefile.am: re-enabled e-component-listener.[ch] + 2002-11-03 Rodrigo Moya <rodrigo@ximian.com> * e-config-listener.[ch] (e_config_listener_get_boolean, diff --git a/e-util/Makefile.am b/e-util/Makefile.am index c79860e5ba..04ee7ee7b0 100644 --- a/e-util/Makefile.am +++ b/e-util/Makefile.am @@ -19,6 +19,7 @@ privlib_LTLIBRARIES = libeutil.la libedb3util.la libeconduit.la noinst_LTLIBRARIES = libeutil-static.la libeconduit-static.la eutilinclude_HEADERS = \ + e-component-listener.h \ e-config-listener.h \ e-corba-utils.h \ e-dialog-widgets.h \ @@ -42,6 +43,7 @@ eutilinclude_HEADERS = \ libeutil_la_SOURCES = \ $(eutilinclude_HEADERS) \ + e-component-listener.c \ e-config-listener.c \ e-corba-utils.c \ e-dialog-widgets.c \ @@ -82,7 +84,6 @@ MARSHAL_GENERATED = e-util-marshal.c e-util-marshal.h # FIXME TODO # e-categories-config.c # e-categories-master-list-wombat.[ch] -# e-component-listener.c # e-dialog-utils.c # e-passwords.c # e-proxy.c diff --git a/e-util/e-component-listener.c b/e-util/e-component-listener.c index ab8c26e791..e3cb3c6e1f 100644 --- a/e-util/e-component-listener.c +++ b/e-util/e-component-listener.c @@ -8,10 +8,8 @@ * Copyright 2002, Ximian, Inc. */ -#include <gtk/gtksignal.h> #include <bonobo/bonobo-exception.h> #include <bonobo/bonobo-object.h> -#include <gal/util/e-util.h> #include "e-component-listener.h" #include <libgnome/gnome-i18n.h> @@ -25,10 +23,10 @@ struct _EComponentListenerPrivate { }; static void e_component_listener_class_init (EComponentListenerClass *klass); -static void e_component_listener_init (EComponentListener *cl); -static void e_component_listener_destroy (GtkObject *object); +static void e_component_listener_init (EComponentListener *cl, EComponentListenerClass *klass); +static void e_component_listener_finalize (GObject *object); -static GtkObjectClass *parent_class = NULL; +static GObjectClass *parent_class = NULL; enum { COMPONENT_DIED, @@ -40,25 +38,25 @@ static guint comp_listener_signals[LAST_SIGNAL]; static void e_component_listener_class_init (EComponentListenerClass *klass) { - GtkObjectClass *object_class = GTK_OBJECT_CLASS (klass); + GObjectClass *object_class = G_OBJECT_CLASS (klass); - parent_class = gtk_type_class (PARENT_TYPE); + parent_class = g_type_class_peek_parent (klass); - object_class->destroy = e_component_listener_destroy; + object_class->finalize = e_component_listener_finalize; klass->component_died = NULL; comp_listener_signals[COMPONENT_DIED] = - gtk_signal_new ("component_died", - GTK_RUN_FIRST, - object_class->type, - GTK_SIGNAL_OFFSET (EComponentListenerClass, component_died), - gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - gtk_object_class_add_signals (object_class, comp_listener_signals, LAST_SIGNAL); + g_signal_new ("component_died", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (EComponentListenerClass, component_died), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); } static void -e_component_listener_init (EComponentListener *cl) +e_component_listener_init (EComponentListener *cl, EComponentListenerClass *klass) { /* allocate internal structure */ cl->priv = g_new (EComponentListenerPrivate, 1); @@ -68,7 +66,7 @@ e_component_listener_init (EComponentListener *cl) } static void -e_component_listener_destroy (GtkObject *object) +e_component_listener_finalize (GObject *object) { EComponentListener *cl = (EComponentListener *) object; @@ -85,28 +83,27 @@ e_component_listener_destroy (GtkObject *object) g_free (cl->priv); cl->priv = NULL; - if (GTK_OBJECT_CLASS (parent_class)->destroy) - (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); + if (G_OBJECT_CLASS (parent_class)->finalize) + (* G_OBJECT_CLASS (parent_class)->finalize) (object); } -GtkType +GType e_component_listener_get_type (void) { - static GtkType type = 0; + static GType type = 0; if (!type) { - static const GtkTypeInfo info = { - "EComponentListener", - sizeof (EComponentListener), - sizeof (EComponentListenerClass), - (GtkClassInitFunc) e_component_listener_class_init, - (GtkObjectInitFunc) e_component_listener_init, - NULL, /* reserved_1 */ - NULL, /* reserved_2 */ - (GtkClassInitFunc) NULL - }; - - type = gtk_type_unique (PARENT_TYPE, &info); + static GTypeInfo info = { + sizeof (EComponentListenerClass), + (GBaseInitFunc) NULL, + (GBaseFinalizeFunc) NULL, + (GClassInitFunc) e_component_listener_class_init, + NULL, NULL, + sizeof (EComponentListener), + 0, + (GInstanceInitFunc) e_component_listener_init + }; + type = g_type_register_static (G_TYPE_OBJECT, "EComponentListener", &info, 0); } return type; @@ -132,26 +129,28 @@ ping_component_callback (gpointer user_data) "CORBA object is nil or not")); goto out; } - CORBA_exception_free (&ev); if (is_nil) goto out; - alive = bonobo_unknown_ping (cl->priv->component); - if (alive) + alive = bonobo_unknown_ping (cl->priv->component, &ev); + if (alive) { + CORBA_exception_free (&ev); return TRUE; + } out: /* the component has died, so we notify and close the timeout */ + CORBA_exception_free (&ev); /* we ref the object just in case it gets destroyed in the callbacks */ - gtk_object_ref (GTK_OBJECT (cl)); - gtk_signal_emit (GTK_OBJECT (cl), comp_listener_signals[COMPONENT_DIED]); + g_object_ref (G_OBJECT (cl)); + g_signal_emit (G_OBJECT (cl), comp_listener_signals[COMPONENT_DIED], 0); cl->priv->component = CORBA_OBJECT_NIL; cl->priv->ping_timeout_id = -1; - gtk_object_unref (GTK_OBJECT (cl)); + g_object_unref (G_OBJECT (cl)); return FALSE; } @@ -182,7 +181,7 @@ e_component_listener_new (Bonobo_Unknown comp, int ping_delay) { EComponentListener *cl; - cl = gtk_type_new (E_COMPONENT_LISTENER_TYPE); + cl = g_object_new (E_COMPONENT_LISTENER_TYPE, NULL); cl->priv->component = comp; /* set up the timeout function */ diff --git a/e-util/e-component-listener.h b/e-util/e-component-listener.h index b706c7cfa2..3ade575cea 100644 --- a/e-util/e-component-listener.h +++ b/e-util/e-component-listener.h @@ -11,32 +11,31 @@ #ifndef __E_COMPONENT_LISTENER_H__ #define __E_COMPONENT_LISTENER_H__ -#include <glib/gmacros.h> +#include <glib-object.h> #include <bonobo/Bonobo.h> -#include <gtk/gtkobject.h> G_BEGIN_DECLS #define E_COMPONENT_LISTENER_TYPE (e_component_listener_get_type ()) -#define E_COMPONENT_LISTENER(o) (GTK_CHECK_CAST ((o), E_COMPONENT_LISTENER_TYPE, EComponentListener)) -#define E_COMPONENT_LISTENER_CLASS(k) (GTK_CHECK_CLASS_CAST((k), E_COMPONENT_LISTENER_TYPE, EComponentListenerClass)) -#define E_IS_COMPONENT_LISTENER(o) (GTK_CHECK_TYPE ((o), E_COMPONENT_LISTENER_TYPE)) -#define E_IS_COMPONENT_LISTENER_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), E_COMPONENT_LISTENER_TYPE)) +#define E_COMPONENT_LISTENER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_COMPONENT_LISTENER_TYPE, EComponentListener)) +#define E_COMPONENT_LISTENER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_COMPONENT_LISTENER_TYPE, EComponentListenerClass)) +#define E_IS_COMPONENT_LISTENER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_COMPONENT_LISTENER_TYPE)) +#define E_IS_COMPONENT_LISTENER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_COMPONENT_LISTENER_TYPE)) typedef struct _EComponentListenerPrivate EComponentListenerPrivate; typedef struct { - GtkObject object; + GObject object; EComponentListenerPrivate *priv; } EComponentListener; typedef struct { - GtkObjectClass parent_class; + GObjectClass parent_class; void (* component_died) (EComponentListener *cl); } EComponentListenerClass; -GtkType e_component_listener_get_type (void); +GType e_component_listener_get_type (void); EComponentListener *e_component_listener_new (Bonobo_Unknown comp, int ping_delay); int e_component_listener_get_ping_delay (EComponentListener *cl); |