From 449f48576b556874742934cacfbc80c041ff12fd Mon Sep 17 00:00:00 2001 From: Gary Ekker Date: Tue, 13 Jan 2004 01:59:28 +0000 Subject: add e-pub-utils.[ch] for Free/Busy publishing 2004-01-12 Gary Ekker * gui/Makefile.am: add e-pub-utils.[ch] for Free/Busy publishing * gui/apps_evolution_calendar.schemas.in.in: add schema for /apps/evo/calendar/free_busy key * gui/calendar-commands.c (publish_freebusy_cmd): change to publish component rather than attach as email * gui/calendar-config-keys.h: add free_busy/urls key definition * gui/calendar-config.[ch] (calendar_config_get_free_busy): new method for retrieving FB gconf key (calendar_config_set_free_busy): new method for saving FB gconf key * gui/e-cal-view.c (on_publish): change to publish component rather than attach as email * gui/itip-utils.[ch] (itip_publish_begin): new method to process e_cal_components and aggregate the data if we are publishing for multiple calendars (itip_publish_comp): new method to publish the ical data to an http server via libsoup (comp_fb_normalize): new static method to ensure rfc 2446 compliant data before publishing icalcomponent_get_uid (fb_sort): new static method to sort FB properties in ascending order * gui/dialogs/Makefile.am: add url-editor-dialog.[ch] and url-editor-dialog.glade for configure FB publishing * gui/dialogs/cal-prefs-dialog.[ch] (cal_prefs_dialog_url_add_clicked): (cal_prefs_dialog_url_edit_clicked):new method for events in FB tab of cal-prefs-dialog (cal_prefs_dialog_url_remove_clicked): ditto (cal_prefs_dialog_url_enable_clicked): ditto (cal_prefs_dialog_url_url_list_change): ditto (cal_prefs_dialog_url_url_list_enable_toggled): ditto (cal_prefs_dialog_url_url_list_double_click): ditto (show_fb_config): new method for updating dialog with FB specific data in gconf (update_fb_config): new method for updating gconf with FB specific data from dialogs (setup_changes): detect changes in url_list gtk_tree_view (get_widgets): include new dialog widgets for FB config (init_widgets): connect signals for new FB config widgets * gui/dialogs/cal-prefs-dialog.glade: add new widgets for FB config * gui/dialogs/url-editor-dialog.[ch]: add files for FB url-editor dialog * gui/dialogs/url-editor-dialog.glade: ditto * gui/e-pub-utils.[ch]: add files with FB publishing utilities * gui/calendar-component.c (init_calendar_publishing): sets up listeners to publish calendar, g_idle_add, and on gconf change (init_calendar_publishing_cb): ditto (conf_changed_callback): ditto (impl_createControls): ditto svn path=/trunk/; revision=24190 --- calendar/gui/e-pub-utils.h | 62 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 calendar/gui/e-pub-utils.h (limited to 'calendar/gui/e-pub-utils.h') diff --git a/calendar/gui/e-pub-utils.h b/calendar/gui/e-pub-utils.h new file mode 100644 index 0000000000..03dcd97c98 --- /dev/null +++ b/calendar/gui/e-pub-utils.h @@ -0,0 +1,62 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ + +/* Evolution calendar Free/Busy utilities and types + * + * Copyright (C) 2004 Ximian, Inc. + * + * Author: Gary Ekker + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General Public + * License as published by the Free Software Foundation. + * + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef E_CAL_FB_UTIL_H +#define E_CAL_FB_UTIL_H + +#include +#include + +G_BEGIN_DECLS + +enum publish_frequency{ + URI_PUBLISH_DAILY, + URI_PUBLISH_WEEKLY, + URI_PUBLISH_USER +}; + +static const int pub_frequency_type_map[] = { + URI_PUBLISH_DAILY, + URI_PUBLISH_WEEKLY, + URI_PUBLISH_USER, + -1 +}; + +struct _EPublishUri { + gint enabled; + gchar *location; + gint publish_freq; + gchar *username; + gchar *password; + GSList *calendars; + gchar *last_pub_time; +}; + +typedef struct _EPublishUri EPublishUri; + +void e_pub_uri_from_xml (EPublishUri *uri, const gchar *xml); +gchar *e_pub_uri_to_xml (EPublishUri *uri); +void e_pub_publish (gboolean publish) ; + +G_END_DECLS + +#endif -- cgit v1.2.3