From 32f545cdf031ebe3718791f18e8fb6b6141fd081 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 28 Aug 2009 20:21:54 -0400 Subject: Simplify EPlugin loading at startup. - Require all EPlugin and EPluginHook subtypes be registered before loading plugins. This drastically simplifies the EPlugin/EPluginHook negotiation. - Turn most EPluginHook subtypes into GTypeModules and register their types from an e_module_load() function (does not include shell hooks). - Convert EPluginLib and the Mono and Python bindings to GTypeModules and register their types from an e_module_load() function, and kill EPluginTypeHook. --- calendar/gui/Makefile.am | 3 - calendar/gui/e-attachment-handler-calendar.c | 511 --------------------------- calendar/gui/e-attachment-handler-calendar.h | 65 ---- calendar/gui/e-cal-config.c | 47 --- calendar/gui/e-cal-config.h | 15 - calendar/gui/e-cal-event.c | 56 --- calendar/gui/e-cal-event.h | 15 - 7 files changed, 712 deletions(-) delete mode 100644 calendar/gui/e-attachment-handler-calendar.c delete mode 100644 calendar/gui/e-attachment-handler-calendar.h (limited to 'calendar/gui') diff --git a/calendar/gui/Makefile.am b/calendar/gui/Makefile.am index b7bf7f557f..ede213e1ff 100644 --- a/calendar/gui/Makefile.am +++ b/calendar/gui/Makefile.am @@ -14,7 +14,6 @@ ecalendarinclude_HEADERS = \ calendar-config-keys.h \ comp-util.h \ e-alarm-list.h \ - e-attachment-handler-calendar.h \ e-cal-config.h \ e-cal-event.h \ e-cal-model-calendar.h \ @@ -96,8 +95,6 @@ libevolution_calendar_la_SOURCES = \ comp-util.h \ e-alarm-list.c \ e-alarm-list.h \ - e-attachment-handler-calendar.c \ - e-attachment-handler-calendar.h \ e-cal-component-preview.c \ e-cal-component-preview.h \ e-cal-config.c \ diff --git a/calendar/gui/e-attachment-handler-calendar.c b/calendar/gui/e-attachment-handler-calendar.c deleted file mode 100644 index 601d1f5e3c..0000000000 --- a/calendar/gui/e-attachment-handler-calendar.c +++ /dev/null @@ -1,511 +0,0 @@ -/* - * e-attachment-handler-calendar.c - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) version 3. - * - * 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with the program; if not, see - * - * - * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) - * - */ - -#include "e-attachment-handler-calendar.h" - -#include -#include -#include -#include -#include - -#include "calendar/common/authentication.h" - -#define E_ATTACHMENT_HANDLER_CALENDAR_GET_PRIVATE(obj) \ - (G_TYPE_INSTANCE_GET_PRIVATE \ - ((obj), E_TYPE_ATTACHMENT_HANDLER_CALENDAR, EAttachmentHandlerCalendarPrivate)) - -typedef struct _ImportContext ImportContext; - -struct _EAttachmentHandlerCalendarPrivate { - gint placeholder; -}; - -struct _ImportContext { - ECal *client; - icalcomponent *component; - ECalSourceType source_type; -}; - -static gpointer parent_class; - -static const gchar *ui = -"" -" " -" " -" " -" " -" " -" " -""; - -static icalcomponent * -attachment_handler_get_component (EAttachment *attachment) -{ - CamelDataWrapper *wrapper; - CamelMimePart *mime_part; - CamelStream *stream; - GByteArray *buffer; - icalcomponent *component; - const gchar *key = "__icalcomponent__"; - - component = g_object_get_data (G_OBJECT (attachment), key); - if (component != NULL) - return component; - - mime_part = e_attachment_get_mime_part (attachment); - if (!CAMEL_IS_MIME_PART (mime_part)) - return NULL; - - buffer = g_byte_array_new (); - stream = camel_stream_mem_new (); - camel_stream_mem_set_byte_array (CAMEL_STREAM_MEM (stream), buffer); - wrapper = camel_medium_get_content_object (CAMEL_MEDIUM (mime_part)); - camel_data_wrapper_decode_to_stream (wrapper, stream); - camel_object_unref (stream); - - component = e_cal_util_parse_ics_string ((gchar *) buffer->data); - - g_byte_array_free (buffer, TRUE); - - if (component == NULL) - return NULL; - - g_object_set_data_full ( - G_OBJECT (attachment), key, component, - (GDestroyNotify) icalcomponent_free); - - return component; -} - -static gboolean -attachment_handler_update_objects (ECal *client, - icalcomponent *component) -{ - icalcomponent_kind kind; - icalcomponent *vcalendar; - gboolean success; - - kind = icalcomponent_isa (component); - - switch (kind) { - case ICAL_VTODO_COMPONENT: - case ICAL_VEVENT_COMPONENT: - vcalendar = e_cal_util_new_top_level (); - if (icalcomponent_get_method (component) == ICAL_METHOD_CANCEL) - icalcomponent_set_method (vcalendar, ICAL_METHOD_CANCEL); - else - icalcomponent_set_method (vcalendar, ICAL_METHOD_PUBLISH); - icalcomponent_add_component ( - vcalendar, icalcomponent_new_clone (component)); - break; - - case ICAL_VCALENDAR_COMPONENT: - vcalendar = icalcomponent_new_clone (component); - if (!icalcomponent_get_first_property (vcalendar, ICAL_METHOD_PROPERTY)) - icalcomponent_set_method (vcalendar, ICAL_METHOD_PUBLISH); - break; - - default: - return FALSE; - } - - success = e_cal_receive_objects (client, vcalendar, NULL); - - icalcomponent_free (vcalendar); - - return success; -} - -static void -attachment_handler_import_event (ECal *client, - ECalendarStatus status, - EAttachment *attachment) -{ - icalcomponent *component; - icalcomponent *subcomponent; - icalcompiter iter; - - /* FIXME Notify the user somehow. */ - g_return_if_fail (status == E_CALENDAR_STATUS_OK); - - component = attachment_handler_get_component (attachment); - g_return_if_fail (component != NULL); - - iter = icalcomponent_begin_component (component, ICAL_ANY_COMPONENT); - - while ((subcomponent = icalcompiter_deref (&iter)) != NULL) { - icalcomponent_kind kind; - - kind = icalcomponent_isa (subcomponent); - icalcompiter_next (&iter); - - if (kind == ICAL_VEVENT_COMPONENT) - continue; - - if (kind == ICAL_VTIMEZONE_COMPONENT) - continue; - - icalcomponent_remove_component (component, subcomponent); - icalcomponent_free (subcomponent); - } - - /* XXX Do something with the return value. */ - attachment_handler_update_objects (client, component); - - g_object_unref (attachment); - g_object_unref (client); -} - -static void -attachment_handler_import_todo (ECal *client, - ECalendarStatus status, - EAttachment *attachment) -{ - icalcomponent *component; - icalcomponent *subcomponent; - icalcompiter iter; - - /* FIXME Notify the user somehow. */ - g_return_if_fail (status == E_CALENDAR_STATUS_OK); - - component = attachment_handler_get_component (attachment); - g_return_if_fail (component != NULL); - - iter = icalcomponent_begin_component (component, ICAL_ANY_COMPONENT); - - while ((subcomponent = icalcompiter_deref (&iter)) != NULL) { - icalcomponent_kind kind; - - kind = icalcomponent_isa (subcomponent); - icalcompiter_next (&iter); - - if (kind == ICAL_VTODO_COMPONENT) - continue; - - if (kind == ICAL_VTIMEZONE_COMPONENT) - continue; - - icalcomponent_remove_component (component, subcomponent); - icalcomponent_free (subcomponent); - } - - /* XXX Do something with the return value. */ - attachment_handler_update_objects (client, component); - - g_object_unref (attachment); - g_object_unref (client); -} - -static void -attachment_handler_row_activated_cb (GtkDialog *dialog) -{ - gtk_dialog_response (dialog, GTK_RESPONSE_OK); -} - -static void -attachment_handler_run_dialog (GtkWindow *parent, - EAttachment *attachment, - ECalSourceType source_type, - const gchar *title) -{ - GtkWidget *dialog; - GtkWidget *container; - GtkWidget *widget; - GCallback callback; - ESourceSelector *selector; - ESourceList *source_list; - ESource *source; - ECal *client; - icalcomponent *component; - GError *error = NULL; - - component = attachment_handler_get_component (attachment); - g_return_if_fail (component != NULL); - - e_cal_get_sources (&source_list, source_type, &error); - if (error != NULL) { - g_warning ("%s", error->message); - g_error_free (error); - return; - } - - source = e_source_list_peek_source_any (source_list); - g_return_if_fail (source != NULL); - - dialog = gtk_dialog_new_with_buttons ( - title, parent, GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL); - - widget = gtk_button_new_with_mnemonic (_("I_mport")); - gtk_button_set_image ( - GTK_BUTTON (widget), gtk_image_new_from_icon_name ( - "stock_mail-import", GTK_ICON_SIZE_MENU)); - gtk_dialog_add_action_widget ( - GTK_DIALOG (dialog), widget, GTK_RESPONSE_OK); - gtk_widget_show (widget); - - gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE); - gtk_window_set_default_size (GTK_WINDOW (dialog), 300, 400); - - container = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); - - widget = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy ( - GTK_SCROLLED_WINDOW (widget), - GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - gtk_scrolled_window_set_shadow_type ( - GTK_SCROLLED_WINDOW (widget), GTK_SHADOW_IN); - gtk_box_pack_start (GTK_BOX (container), widget, TRUE, TRUE, 0); - gtk_widget_show (widget); - - container = widget; - - widget = e_source_selector_new (source_list); - selector = E_SOURCE_SELECTOR (widget); - e_source_selector_set_primary_selection (selector, source); - e_source_selector_show_selection (selector, FALSE); - gtk_container_add (GTK_CONTAINER (container), widget); - gtk_widget_show (widget); - - g_signal_connect_swapped ( - widget, "row-activated", - G_CALLBACK (attachment_handler_row_activated_cb), dialog); - - if (gtk_dialog_run (GTK_DIALOG (dialog)) != GTK_RESPONSE_OK) - goto exit; - - source = e_source_selector_peek_primary_selection (selector); - if (source == NULL) - goto exit; - - client = auth_new_cal_from_source (source, source_type); - if (client == NULL) - goto exit; - - if (source_type == E_CAL_SOURCE_TYPE_EVENT) - callback = G_CALLBACK (attachment_handler_import_event); - else if (source_type == E_CAL_SOURCE_TYPE_TODO) - callback = G_CALLBACK (attachment_handler_import_todo); - else - goto exit; - - g_object_ref (attachment); - g_signal_connect (client, "cal-opened", callback, attachment); - e_cal_open_async (client, FALSE); - -exit: - gtk_widget_destroy (dialog); -} - -static void -attachment_handler_import_to_calendar (GtkAction *action, - EAttachmentHandler *handler) -{ - EAttachment *attachment; - EAttachmentView *view; - GList *selected; - gpointer parent; - - view = e_attachment_handler_get_view (handler); - - parent = gtk_widget_get_toplevel (GTK_WIDGET (view)); - parent = GTK_WIDGET_TOPLEVEL (parent) ? parent : NULL; - - selected = e_attachment_view_get_selected_attachments (view); - g_return_if_fail (g_list_length (selected) == 1); - attachment = E_ATTACHMENT (selected->data); - - attachment_handler_run_dialog ( - parent, attachment, - E_CAL_SOURCE_TYPE_EVENT, - _("Select a Calendar")); - - g_object_unref (attachment); - g_list_free (selected); -} - -static void -attachment_handler_import_to_tasks (GtkAction *action, - EAttachmentHandler *handler) -{ - EAttachment *attachment; - EAttachmentView *view; - GList *selected; - gpointer parent; - - view = e_attachment_handler_get_view (handler); - - parent = gtk_widget_get_toplevel (GTK_WIDGET (view)); - parent = GTK_WIDGET_TOPLEVEL (parent) ? parent : NULL; - - selected = e_attachment_view_get_selected_attachments (view); - g_return_if_fail (g_list_length (selected) == 1); - attachment = E_ATTACHMENT (selected->data); - - attachment_handler_run_dialog ( - parent, attachment, - E_CAL_SOURCE_TYPE_TODO, - _("Select a Task List")); - - g_object_unref (attachment); - g_list_free (selected); -} - -static GtkActionEntry standard_entries[] = { - - { "import-to-calendar", - "stock_mail-import", - N_("I_mport to Calendar"), - NULL, - NULL, /* XXX Add a tooltip! */ - G_CALLBACK (attachment_handler_import_to_calendar) }, - - { "import-to-tasks", - "stock_mail-import", - N_("I_mport to Tasks"), - NULL, - NULL, /* XXX Add a tooltip! */ - G_CALLBACK (attachment_handler_import_to_tasks) } -}; - -static void -attachment_handler_calendar_update_actions (EAttachmentView *view) -{ - EAttachment *attachment; - GtkAction *action; - GList *selected; - icalcomponent *component; - icalcomponent *subcomponent; - icalcomponent_kind kind; - gboolean is_vevent = FALSE; - gboolean is_vtodo = FALSE; - - selected = e_attachment_view_get_selected_attachments (view); - - if (g_list_length (selected) != 1) - goto exit; - - attachment = E_ATTACHMENT (selected->data); - component = attachment_handler_get_component (attachment); - - if (component == NULL) - goto exit; - - subcomponent = icalcomponent_get_inner (component); - - if (subcomponent == NULL) - goto exit; - - kind = icalcomponent_isa (subcomponent); - is_vevent = (kind == ICAL_VEVENT_COMPONENT); - is_vtodo = (kind == ICAL_VTODO_COMPONENT); - -exit: - action = e_attachment_view_get_action (view, "import-to-calendar"); - gtk_action_set_visible (action, is_vevent); - - action = e_attachment_view_get_action (view, "import-to-tasks"); - gtk_action_set_visible (action, is_vtodo); - - g_list_foreach (selected, (GFunc) g_object_unref, NULL); - g_list_free (selected); -} - -static void -attachment_handler_calendar_constructed (GObject *object) -{ - EAttachmentHandler *handler; - EAttachmentView *view; - GtkActionGroup *action_group; - GtkUIManager *ui_manager; - GError *error = NULL; - - handler = E_ATTACHMENT_HANDLER (object); - - /* Chain up to parent's constructed() method. */ - G_OBJECT_CLASS (parent_class)->constructed (object); - - view = e_attachment_handler_get_view (handler); - - action_group = e_attachment_view_add_action_group (view, "calendar"); - gtk_action_group_add_actions ( - action_group, standard_entries, - G_N_ELEMENTS (standard_entries), handler); - - ui_manager = e_attachment_view_get_ui_manager (view); - gtk_ui_manager_add_ui_from_string (ui_manager, ui, -1, &error); - - if (error != NULL) { - g_warning ("%s", error->message); - g_error_free (error); - } - - g_signal_connect ( - view, "update_actions", - G_CALLBACK (attachment_handler_calendar_update_actions), - NULL); -} - -static void -attachment_handler_calendar_class_init (EAttachmentHandlerCalendarClass *class) -{ - GObjectClass *object_class; - - parent_class = g_type_class_peek_parent (class); - g_type_class_add_private (class, sizeof (EAttachmentHandlerCalendarPrivate)); - - object_class = G_OBJECT_CLASS (class); - object_class->constructed = attachment_handler_calendar_constructed; -} - -static void -attachment_handler_calendar_init (EAttachmentHandlerCalendar *handler) -{ - handler->priv = E_ATTACHMENT_HANDLER_CALENDAR_GET_PRIVATE (handler); -} - -GType -e_attachment_handler_calendar_get_type (void) -{ - static GType type = 0; - - if (G_UNLIKELY (type == 0)) { - static const GTypeInfo type_info = { - sizeof (EAttachmentHandlerCalendarClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) attachment_handler_calendar_class_init, - (GClassFinalizeFunc) NULL, - NULL, /* class_data */ - sizeof (EAttachmentHandlerCalendar), - 0, /* n_preallocs */ - (GInstanceInitFunc) attachment_handler_calendar_init, - NULL /* value_table */ - }; - - type = g_type_register_static ( - E_TYPE_ATTACHMENT_HANDLER, - "EAttachmentHandlerCalendar", &type_info, 0); - } - - return type; -} diff --git a/calendar/gui/e-attachment-handler-calendar.h b/calendar/gui/e-attachment-handler-calendar.h deleted file mode 100644 index f34cac14c3..0000000000 --- a/calendar/gui/e-attachment-handler-calendar.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * e-attachment-handler-calendar.h - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) version 3. - * - * 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with the program; if not, see - * - * - * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) - * - */ - -#ifndef E_ATTACHMENT_HANDLER_CALENDAR_H -#define E_ATTACHMENT_HANDLER_CALENDAR_H - -#include - -/* Standard GObject macros */ -#define E_TYPE_ATTACHMENT_HANDLER_CALENDAR \ - (e_attachment_handler_calendar_get_type ()) -#define E_ATTACHMENT_HANDLER_CALENDAR(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST \ - ((obj), E_TYPE_ATTACHMENT_HANDLER_CALENDAR, EAttachmentHandlerCalendar)) -#define E_ATTACHMENT_HANDLER_CALENDAR_CLASS(cls) \ - (G_TYPE_CHECK_CLASS_CAST \ - ((cls), E_TYPE_ATTACHMENT_HANDLER_CALENDAR, EAttachmentHandlerCalendarClass)) -#define E_IS_ATTACHMENT_HANDLER_CALENDAR(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE \ - ((obj), E_TYPE_ATTACHMENT_HANDLER_CALENDAR)) -#define E_IS_ATTACHMENT_HANDLER_CALENDAR_CLASS(cls) \ - (G_TYPE_CHECK_CLASS_TYPE \ - ((cls), E_TYPE_ATTACHMENT_HANDLER_CALENDAR)) -#define E_ATTACHMENT_HANDLER_CALENDAR_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS \ - ((obj), E_TYPE_ATTACHMENT_HANDLER_CALENDAR, EAttachmentHandlerCalendarClass)) - -G_BEGIN_DECLS - -typedef struct _EAttachmentHandlerCalendar EAttachmentHandlerCalendar; -typedef struct _EAttachmentHandlerCalendarClass EAttachmentHandlerCalendarClass; -typedef struct _EAttachmentHandlerCalendarPrivate EAttachmentHandlerCalendarPrivate; - -struct _EAttachmentHandlerCalendar { - EAttachmentHandler parent; - EAttachmentHandlerCalendarPrivate *priv; -}; - -struct _EAttachmentHandlerCalendarClass { - EAttachmentHandlerClass parent_class; -}; - -GType e_attachment_handler_calendar_get_type (void); - -G_END_DECLS - -#endif /* E_ATTACHMENT_HANDLER_CALENDAR_H */ diff --git a/calendar/gui/e-cal-config.c b/calendar/gui/e-cal-config.c index 33b6bc9c46..a8d2ad169f 100644 --- a/calendar/gui/e-cal-config.c +++ b/calendar/gui/e-cal-config.c @@ -28,7 +28,6 @@ #include "e-cal-config.h" static GObjectClass *ecp_parent_class; -static GObjectClass *ecph_parent_class; struct _ECalConfigPrivate { guint source_changed_id; @@ -166,49 +165,3 @@ e_cal_config_target_new_prefs (ECalConfig *ecp, struct _GConfClient *gconf) return t; } - -static const EConfigHookTargetMask ecph_no_masks[] = { - { NULL } -}; - -static const EConfigHookTargetMap ecph_targets[] = { - { "source", EC_CONFIG_TARGET_SOURCE, ecph_no_masks }, - { "prefs", EC_CONFIG_TARGET_PREFS, ecph_no_masks }, - { NULL }, -}; - -static void -ecph_class_init (EPluginHookClass *klass) -{ - gint i; - - klass->id = "org.gnome.evolution.calendar.config:1.0"; - - for (i = 0; ecph_targets[i].type; i++) { - e_config_hook_class_add_target_map ((EConfigHookClass *)klass, &ecph_targets[i]); - } - - ((EConfigHookClass *)klass)->config_class = g_type_class_ref (e_cal_config_get_type ()); -} - -GType -e_cal_config_hook_get_type (void) -{ - static GType type = 0; - - if (!type) { - static const GTypeInfo info = { - sizeof (ECalConfigHookClass), - NULL, NULL, - (GClassInitFunc) ecph_class_init, - NULL, NULL, - sizeof (ECalConfigHook), 0, - (GInstanceInitFunc) NULL - }; - - ecph_parent_class = g_type_class_ref (e_config_hook_get_type ()); - type = g_type_register_static (e_config_hook_get_type (), "ECalConfigHook", &info, 0); - } - - return type; -} diff --git a/calendar/gui/e-cal-config.h b/calendar/gui/e-cal-config.h index 52989aa0e2..30e12bbf0c 100644 --- a/calendar/gui/e-cal-config.h +++ b/calendar/gui/e-cal-config.h @@ -71,21 +71,6 @@ ECalConfig *e_cal_config_new (gint type, const gchar *menuid); ECalConfigTargetSource *e_cal_config_target_new_source (ECalConfig *ecp, struct _ESource *source); ECalConfigTargetPrefs *e_cal_config_target_new_prefs (ECalConfig *ecp, struct _GConfClient *gconf); -/* ********************************************************************** */ - -typedef struct _ECalConfigHook ECalConfigHook; -typedef struct _ECalConfigHookClass ECalConfigHookClass; - -struct _ECalConfigHook { - EConfigHook hook; -}; - -struct _ECalConfigHookClass { - EConfigHookClass hook_class; -}; - -GType e_cal_config_hook_get_type (void); - G_END_DECLS #endif diff --git a/calendar/gui/e-cal-event.c b/calendar/gui/e-cal-event.c index 5881f5037f..7d0a9d196d 100644 --- a/calendar/gui/e-cal-event.c +++ b/calendar/gui/e-cal-event.c @@ -105,59 +105,3 @@ e_cal_event_target_new_module (ECalEvent *ece, EShellBackend *shell_backend, ESo return t; } - -/* ********************************************************************** */ - -static gpointer eceh_parent_class; - -static const EEventHookTargetMask eceh_module_masks[] = { - { "migration", E_CAL_EVENT_MODULE_MIGRATION }, - { NULL }, -}; - -static const EEventHookTargetMap eceh_targets[] = { - { "module", E_CAL_EVENT_TARGET_BACKEND, eceh_module_masks }, - { NULL }, -}; - -static void -eceh_finalize (GObject *o) -{ - ((GObjectClass *) eceh_parent_class)->finalize (o); -} - -static void -eceh_class_init (EPluginHookClass *klass) -{ - gint i; - - ((GObjectClass *)klass)->finalize = eceh_finalize; - ((EPluginHookClass *)klass)->id = "org.gnome.evolution.calendar.events:1.0"; - - for (i = 0; eceh_targets[i].type; i++) - e_event_hook_class_add_target_map ((EEventHookClass *)klass, &eceh_targets[i]); - - ((EEventHookClass *)klass)->event = (EEvent *) e_cal_event_peek (); -} - -GType -e_cal_event_hook_get_type (void) -{ - static GType type = 0; - - if (!type) { - static const GTypeInfo info = { - sizeof (ECalEventHookClass), - NULL, NULL, - (GClassInitFunc) eceh_class_init, - NULL, NULL, - sizeof (ECalEventHook), 0, - (GInstanceInitFunc) NULL, - }; - - eceh_parent_class = g_type_class_ref (e_event_hook_get_type ()); - type = g_type_register_static (e_event_hook_get_type (), "ECalEventHook", &info, 0); - } - - return type; -} diff --git a/calendar/gui/e-cal-event.h b/calendar/gui/e-cal-event.h index 73d27353fa..8d72a93fa5 100644 --- a/calendar/gui/e-cal-event.h +++ b/calendar/gui/e-cal-event.h @@ -66,21 +66,6 @@ GType e_cal_event_get_type (void); ECalEvent* e_cal_event_peek (void); ECalEventTargetBackend* e_cal_event_target_new_module (ECalEvent *ece, EShellBackend *shell_backend, ESourceList *source_list, guint32 flags); -/* ********************************************************************** */ - -typedef struct _ECalEventHook ECalEventHook; -typedef struct _ECalEventHookClass ECalEventHookClass; - -struct _ECalEventHook { - EEventHook hook; -}; - -struct _ECalEventHookClass { - EEventHookClass hook_class; -}; - -GType e_cal_event_hook_get_type (void); - G_END_DECLS #endif /* __E_CAL_EVENT_H__ */ -- cgit v1.2.3