Files
evolution/calendar/gui/e-pub-utils.h
Gary Ekker 449f48576b add e-pub-utils.[ch] for Free/Busy publishing
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
2004-01-13 01:59:28 +00:00

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