2004-01-12 Gary Ekker <gekker@novell.com> * 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
63 lines
1.5 KiB
C
63 lines
1.5 KiB
C
/* -*- 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 <gekker@novell.com>
|
|
*
|
|
* 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 <glib.h>
|
|
#include <libxml/tree.h>
|
|
|
|
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
|