static void calendar_sources_init (CalendarSources *sources) { GError *error = NULL; sources->priv = CALENDAR_SOURCES_GET_PRIVATE (sources); /* XXX Not sure what to do if this fails. * Should this class implement GInitable or pass the * registry in as a G_PARAM_CONSTRUCT_ONLY property? */ sources->priv->registry = e_source_registry_new_sync (NULL, &error); if (error != NULL) { g_error ("%s: %s", G_STRFUNC, error->message); } sources->priv->source_added_id = g_signal_connect (sources->priv->registry, "source-added", G_CALLBACK (calendar_sources_registry_source_changed_cb), sources); sources->priv->source_changed_id = g_signal_connect (sources->priv->registry, "source-changed", G_CALLBACK (calendar_sources_registry_source_changed_cb), sources); sources->priv->source_removed_id = g_signal_connect (sources->priv->registry, "source-removed", G_CALLBACK (calendar_sources_registry_source_removed_cb), sources); sources->priv->appointment_sources.source_type = E_CAL_CLIENT_SOURCE_TYPE_EVENTS; sources->priv->appointment_sources.sources = sources; sources->priv->appointment_sources.changed_signal = signals [APPOINTMENT_SOURCES_CHANGED]; sources->priv->appointment_sources.clients = g_hash_table_new_full ((GHashFunc) e_source_hash, (GEqualFunc) e_source_equal, (GDestroyNotify) g_object_unref, (GDestroyNotify) client_data_free); sources->priv->appointment_sources.timeout_id = 0; sources->priv->task_sources.source_type = E_CAL_CLIENT_SOURCE_TYPE_TASKS; sources->priv->task_sources.sources = sources; sources->priv->task_sources.changed_signal = signals [TASK_SOURCES_CHANGED]; sources->priv->task_sources.clients = g_hash_table_new_full ((GHashFunc) e_source_hash, (GEqualFunc) e_source_equal, (GDestroyNotify) g_object_unref, (GDestroyNotify) client_data_free); sources->priv->task_sources.timeout_id = 0; }
static void calendar_sources_init (CalendarSources *sources) { sources->priv = CALENDAR_SOURCES_GET_PRIVATE (sources); sources->priv->appointment_sources.source_type = E_CAL_SOURCE_TYPE_EVENT; sources->priv->appointment_sources.sources = sources; sources->priv->appointment_sources.changed_signal = signals [APPOINTMENT_SOURCES_CHANGED]; sources->priv->appointment_sources.timeout_id = 0; sources->priv->task_sources.source_type = E_CAL_SOURCE_TYPE_TODO; sources->priv->task_sources.sources = sources; sources->priv->task_sources.changed_signal = signals [TASK_SOURCES_CHANGED]; sources->priv->task_sources.timeout_id = 0; sources->priv->gconf_client = gconf_client_get_default (); }