2006-11-20  Chenthill Palanisamy  <pchenthill@novell.com>

	* libedata-cal/e-cal-backend-sync.c:
	(e_cal_backend_sync_set_default_zone): Duplicate
	the tzid. Fixes a memory corruption.					       

2006-11-20  Harish Krishnaswamy  <kharish@novell.com>

	* libecal/e-cal.c: (open_calendar): Remove an
	erroneous double mutex unlock. Fixes Bug #312348
	partially - the original issue reported.

2006-11-15  Chenthill Palanisamy  <pchenthill@novell.com>

	* libecal/e-cal.c: (add_instance), (generate_instances),
	(e_cal_generate_instances_for_object): Generate the RID's with 
	proper timezones stored in start date.
	Fixes #215636 (bugzilla.novell.com)

2006-11-08  Sankar P  <psankar@novell.com>

	* libecal/e-cal.c: (build_proxy_key), (open_calendar):
	Do not popup password dialog for proxy accounts.
	Fixes #328836

2006-09-25  Matthew Barnes  <mbarnes@redhat.com>

	Fixes #357666

	* backends/groupwise/e-cal-backend-groupwise.c: (change_status)
	Use g_ascii_strncasecmp instead of deprecated g_strncasecmp.

2006-09-22  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #351330
	* backends/groupwise/e-cal-backend-groupwise.c: 
	(cache_init): call the store settings in a idle thread.
	* backends/groupwise/e-cal-backend-groupwise.h: Defined a new structure
	to hold Gw settings and groupwise backend.
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_cal_backend_groupwise_store_settings): 
	* backends/groupwise/e-cal-backend-groupwise-utils.h:
	Pass Gwsettings as an argument.

2006-09-18  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/http/e-cal-backend-http.c:
	(begin_retrieval_cb): Check the right e-source property.

	Committing the patch from Mikael Nilsson <mini@nada.kth.se>.

2006-09-06  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes a invalid read.
	* backends/http/e-cal-backend-http.c: (retrieval_done):
	clone the icalcomp before setting it in the new ECalComponent.
	See bug #352596

2006-08-24  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes the gslice crash
	* backends/groupwise/e-cal-backend-groupwise.c: (get_deltas):
	Do not free the cache_keys.

2006-08-24  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c: 
	(get_deltas): assign the proper iterator to cache_keys.
	(cache_init): Need not notify objects added signal
	for the elements existing in cache.

2006-08-23  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for bug #349847 by Matthew Barnes  
	
	* tests/ecal/test-ecal.c: (test_get_object): Initialize gerror to 
	NULL.

2006-08-22  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/http/e-cal-backend-http.c: (begin_retrieval_cb):
	check if "use_ssl" property is set in e-source.

2006-08-19  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #350887
	* backends/groupwise/e-cal-backend-groupwise.c: (get_deltas):
	replaced gslist_delete_link with remove link.

2006-08-19  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #325648
	* libecal/e-cal-util.c: (e_cal_util_parse_ics_string):
	Check if the component is a VCALENDAR component before
	merging the component.

2006-08-19  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(set_default_alarms): Unref GConf client on all exit
	paths.

2006-08-17  Kjartan Maraas  <kmaraas@gnome.org>

	* libedata-cal/e-cal-backend-sync.c:
	(_e_cal_backend_remove_object): Remove an unused variable.

2006-08-11  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(set_attendees_to_item): removed the g_message.
	(e_cal_backend_groupwise_store_settings):unref the source_list.

2006-08-07  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c: 
	(get_element_type), (populate_cache), (get_deltas),
	(cache_init): Add local function to map icalcomponent
	kind to GW item types. Add type checks to filters 
	passed to createCursor calls, so that each component
	fetches items of its own type and none other.

2006-07-31  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #310489
	* libecal/e-cal.c: (open_calendar): get the uri from
	ecal object.

2006-07-31  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #345646
	* gui/dialogs/recurrence-page.c: 
	(recurrence_page_finalize): Diconnect the signal handler
	while destroying the page.

2006-07-29  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #338203
	* libecal/e-cal-time-util.c: 
	(isodate_from_time_t): We format the time string ourselves
	without using strftime as its not thread safe.

2006-07-24  Harish Krishnaswamy  <kharish@novell.com>

	Patch to split the cache into multiple files based
	on the type of objects it stores. This substantially
	reduces the primary memory requirements of Evolution
	and EDS for providers like GW, Exchange that manipulate
	event/tasks/journals together.

	* backends/caldav/e-cal-backend-caldav.c: (initialize_backend):
	* backends/groupwise/e-cal-backend-groupwise.c:
	(connect_to_server), (e_cal_backend_groupwise_open):
	* backends/http/e-cal-backend-http.c: (e_cal_backend_http_open):
	* backends/weather/e-cal-backend-weather.c:
	(e_cal_backend_weather_open):
	Update e_cal_backend_cache_new calls with an additional source
	type argument.
	* libecal/e-cal.[ch]: (e_cal_source_type_enum_get_type):
	Implement the function.
	* libedata-cal/e-cal-backend-cache.c:
	(get_filename_from_uri),
	(e_cal_backend_cache_set_property),
	(e_cal_backend_cache_get_property),
	(e_cal_backend_cache_constructor),
	(e_cal_backend_cache_class_init), (e_cal_backend_cache_new):
	Compute the cache destination using the source type.
	* libedata-cal/e-cal-backend-cache.h: Include header e-cal.h.

2006-07-22  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(set_default_alarms): Refactor code to cut down 
	comparisons. 

2006-07-22  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #347987
	* backends/groupwise/e-cal-backend-groupwise.c: 
	(get_deltas): fall back to right recur_key if the 
	start date is not returned by the server.

2006-07-22  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(set_default_alarms), (e_gw_item_to_cal_component):
	* backends/groupwise/e-cal-backend-groupwise-utils.h:
	Apply default alarm client preference to GW events if
	the event does not already have one. Fixes Bug 
	#167330 on bugzilla.novell.com.

2006-07-22  Chenthill Palanisamy  <pchenthill@novell.com>
	
	* libedata-cal/e-cal-backend-sexp.c: (matches_summary): If the query
	has a empty string, return TRUE.
	* libedata-cal/e-data-cal.c: (e_data_cal_notify_object_created):
	If the appointment is sucessfully created and if the *icalboj
	do not send the objects created signal to the backend as there might
	be a delay delivery set.
	* backends/groupwise/e-cal-backend-groupwise-factory.c:
	(_journal_new_backend), (_journal_get_kind),
	(journal_backend_factory_class_init),
	(journal_backend_factory_get_type), (eds_module_initialize),
	(eds_module_list_types):
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(set_attendees_to_item), (set_properties_from_cal_component),
	(e_gw_item_new_from_cal_component), (e_gw_item_to_cal_component),
	(e_gw_connection_send_appointment),
	(e_cal_backend_groupwise_store_settings):
	* backends/groupwise/e-cal-backend-groupwise.c: (populate_cache),
	(cache_init), (set_container_id_with_count), (connect_to_server),
	(e_cal_backend_groupwise_internal_get_default_timezone),
	(e_cal_backend_groupwise_create_object):
	* libecal/e-cal-recur.c: (e_cal_recur_generate_instances_of_rule):
	* libedata-cal/e-cal-backend-cache.c:
	(e_cal_backend_cache_get_components): Added support for Gw notes

2006-07-10  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #332911
	* backends/caldav/e-cal-backend-caldav.c:
	(caldav_set_default_zone), (e_cal_backend_caldav_class_init):
	* backends/contacts/e-cal-backend-contacts.c:
	(e_cal_backend_contacts_open),
	(e_cal_backend_contacts_set_default_zone),
	(e_cal_backend_contacts_finalize),
	(e_cal_backend_contacts_class_init):
	* backends/file/e-cal-backend-file.c:
	(e_cal_backend_file_finalize), (e_cal_backend_file_open),
	(e_cal_backend_file_set_default_zone),
	(e_cal_backend_file_class_init):
	* backends/groupwise/e-cal-backend-groupwise.c:
	(connect_to_server), (e_cal_backend_groupwise_finalize),
	(e_cal_backend_groupwise_open),
	(e_cal_backend_groupwise_set_default_zone),
	(e_cal_backend_groupwise_class_init):
	* backends/http/e-cal-backend-http.c:
	(e_cal_backend_http_finalize), (e_cal_backend_http_open),
	(e_cal_backend_http_set_default_zone),
	(e_cal_backend_http_class_init):
	* backends/weather/e-cal-backend-weather.c:
	(e_cal_backend_weather_open),
	(e_cal_backend_weather_set_default_zone),
	(e_cal_backend_weather_finalize),
	(e_cal_backend_weather_class_init):
	* idl/Evolution-DataServer-Calendar.idl:
	* libedata-cal/e-cal-backend-sync.c:
	(e_cal_backend_sync_set_default_zone),
	(_e_cal_backend_set_default_zone), (e_cal_backend_sync_class_init):
	* libedata-cal/e-cal-backend-sync.h:
	* libedata-cal/e-cal-backend.c: (e_cal_backend_set_default_zone):
	* libedata-cal/e-cal-backend.h:
	* libedata-cal/e-data-cal.c: (impl_Cal_setDefaultTimezone): Added
	e_cal_backend_set_zone as a replacement for e_cal_backend_set_timezone.
	Replaced the same for all backends.	
	* backends/e-cal-backend-groupwise-utils.c (set_properties_from_cal_component):
	check if the dtstart is date using the is_date parameter.
	* libecal/e-cal.c: (e_cal_set_default_timezone): Pass the timezone object
	as a string instead of the tzid.

2006-07-10  Harish Krishnaswamy  <kharish@novell.com>

	* libedata-cal/e-cal-backend-cache.c:
	(e_cal_backend_cache_get_components),
	(e_cal_backend_cache_get_components_by_uid):
	Prefer g_(s)list_prepend to g_(s)list_append.

2006-07-03  Harish Krishnaswamy  <kharish@novell.com>

	* libical/src/libical/icalvalue.c
	(icalvalue_decode_ical_string): If the string decoded has
	no special characters, the length of computed string is equal
	to the buffer length allocated. Hence, do not flag error on
	equality .

2006-06-21  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c: (populate_cache):
	Set appropriate cursor/seek direction for each of the
	pre-population calls.

2006-06-19  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c: (populate_cache):
	reset 'done' flag for each iteration of cursor reads.

2006-06-16  Tor Lillqvist  <tml@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c: Add gmtime_r()
	macro implementation for Win32.

2006-06-15  Andre Klapper  <a9016009@gmx.de>

	* libecal/e-cal.c: 
	* libecal/e-cal.c: 
	changing "cancelled" to "canceled" in user-visible strings.
	Fixes bug #342163.

2006-06-15  Harish Krishnaswamy  <kharish@novell.com>

	* libecal/e-cal-component.c: (get_attachment_list),
	(set_attachment_list): Handle attachment URLs with
	special characters that are not permitted in
	ICAL. Fixes #178706 in bugzilla.novell.com.
	
2006-06-15  Wang Xin  <jedy.wang@sun.com>

	Fixes #344253

	* backends/file/e-cal-backend-file.c:
	(e_cal_backend_file_compute_changes_foreach_key): Free comp.
	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_compute_changes_foreach_key): Free comp.

2006-06-13  Andre Klapper <a9016009@gmx.de>

	* backends/file/e-cal-backend-file.c:
	changing "couldn't", "can't" and "didn't" to proper
	English. Fixes bug #342160.

2006-06-13  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #335069
	* backends/caldav/e-cal-backend-caldav.c: 
	(caldav_remove): Return success if the cache
	is not loaded.

2006-06-12  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c: (populate_cache),
	(get_deltas): Fetch calendar data with a bias towards present, 
	near past and near future. Fixes bug#.
	Also, prefer gmtime_r to gmtime.

2006-06-12  Ross Burton  <ross@openedhand.com>

	* backends/contacts/Makefile.am:
	* backends/file/Makefile.am:
	* backends/weather/Makefile.am:
	Don't statically link a 200K library into each backend, when it's
	already in libecal.

2006-05-25  Wang Xin  <jedy.wang@sun.com>

	Fixes #342102

	* libedata-cal/e-cal-backend-sync.c:
	(_e_cal_backend_modify_object): Free old_object and new_object.
	(_e_cal_backend_remove_object): Free old_object.

2006-05-07  Kjartan Maraas  <kmaraas@gnome.org>

	* backends/caldav/e-cal-backend-caldav.c: (process_object):
	Fix typos. We were copying the wrong variable in a couple of
	places. In plain english: Use the right etag on invitation updates. 

2006-04-22  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_modify_object): Send item_id
	with recurence key while delegating multiple instances.
	Fixes #165714 (bugzilla.novell.com)

2006-04-10  Tor Lillqvist  <tml@novell.com>

	* libecal/e-cal-time-util.c: #define gmtime_r on Win32.

2006-04-06  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #162005
	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_modify_object): pass the 
	rid while getting the component.
	(e_cal_backend_groupwise_remove_object): Compare only
	if the rid is present.
		
2006-04-05  Irene Huang <Irene.Huang@sun.com>

	Fixes bug 335225

	* backends/contacts/e-cal-backend-contacts.c:
	(e_cal_backend_contacts_create_object),
	(e_cal_backend_contacts_class_init): 
	Add implementation of e_cal_backend_contacts_create_object.

2006-04-03  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #158107
	* backends/groupwise/e-cal-backend-groupwise.c: (get_deltas),
	(e_cal_backend_groupwise_internal_get_timezone),
	(get_retract_data), (e_cal_backend_groupwise_modify_object),
	(send_object), (e_cal_backend_groupwise_send_objects): Added the 
	retract support.

2006-03-28  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #336086
	* libical/src/libical/icaltime.c: (set_tz), (unset_tz),
	(icaltime_as_timet_with_zone): Use a lock setting the 
	tz enviromental variables.

2006-03-23  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #331146
	* backends/file/e-cal-backend-file.c:
	(check_dup_uid), (add_component): Check if the 
	component has a uid before try to search it in the 
	cache.

2006-03-23  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #323275
	* libedata-cal/e-cal-backend-cache.c:
	(e_cal_backend_cache_constructor): Register only
	if the type is not register before.

2006-03-23  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #334065
	* libecal/e-cal-time-util.c: (isodate_from_time_t):
	* libical/src/libical/icaltime.c: (icaltime_from_timet_with_zone),
	(icaltime_as_timet_with_zone): Make mktime and gmtime thread safe.

2006-03-22  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #334000
	* libedata-cal/e-cal-backend.c:
	(e_cal_backend_notify_object_removed): Check if
	the query matches.

2006-03-04  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #330974
	* libecal/e-cal.c: 
	(build_pass_key): Get the uri from ECal, which is more
	reliable.
	(open_calendar): Pass ECal to build_pass_key.
			 
2006-03-01  Chenthill Palanisamy  <pchenthill@novell.com>

	* libedata-cal/e-cal-backend-sync.c:
	(_e_cal_backend_remove_object): Do not get the object
	backend again. Use the provided new and old object.
	* libedata-cal/e-cal-backend.c:
	(e_cal_backend_notify_object_removed): Need not check
	if the query matches for removing an item.

2006-03-02  Jeff Cai  <Jeff.Cai@Sun.Com>

	Fixes #332276
	* backends/weather/e-weather-source-ccf.c:
	(e_weather_source_ccf_parse):
	Support getting weather data through global http proxy.

2006-02-28  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #332726
	* backends/file/e-cal-backend-file.c:
	(e_cal_backend_file_modify_object): Initialize and assign
	the recurrence id properly. Set the date and times of the 
	master object depending on what has changed.

2006-02-20  Harish Krishnaswamy  <kharish@novell.com>

	* backends/caldav/Makefile.am: Add soup_flags to la.

2006-02-14  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #331127
	* backends/weather/e-cal-backend-weather.c:
	(e_cal_backend_weather_get_object): Use g_object_unref
	instead of g_free while disposing a ECalComponent.

2006-02-13  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #329866
	* libecal/e-cal.c: (process_detached_instances): Check if we have
	valid recurrence id before comparing.

2006-02-12  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #329566, #329568
	* backends/file/e-cal-backend-file.c:
	(e_cal_backend_file_modify_object): Reset the instance dates of the 
	master object if its a recurring event.
       	(remove_instance): Removed the return statement so that the exception is
	set in the master object.

2006-02-09  Rajeev ramanathan <rajeevramanathan_2004@yahoo.co.in>

	* backends/contacts/e-cal-backend-contacts.c: (contact_record_free)
	Corrected id. Fixes #326428

2006-02-09  Harish Krishnaswamy  <kharish@novell.com>

	* backends/caldav/e-cal-backend-caldav.c: (synchronize_cache):
	return ECalComponentId instead of id during a remove notify
	as per the changed semantics in ecal.

2006-01-23  Veerapuram Varadhan <vvaradhan@novell.com>
 
 	** Fixes #327427
 	* libedata-cal/e-data-cal-factory.c: (impl_CalFactory_getCal): Do
 	not ref a NULL object.
 	
2006-01-23  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #305656
	* backends/groupwise/e-cal-backend-groupwise.c: (get_deltas):
	Remove the deleted items from the server.

2006-01-23  Harish Krishnaswamy  <kharish@novell.com>

	* backends/caldav/e-cal-backend-caldav.c:
	(caldav_server_open_calendar), (caldav_server_list_objects),
	(caldav_server_get_object), (caldav_server_put_object),
	(caldav_server_delete_object): Add debug hooks to each of
	the messages and remove some bad ones.
	
2006-01-22  Harish Krishnaswamy  <kharish@novell.com>

	* backends/caldav/e-cal-backend-caldav.c (print_header),
	(debug_handler), (setup_debug), (caldav_server_open_calendar),
	(caldav_server_list_objects): Add debug helper functions to
	caldav backend.

2006-01-19  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #322951
	* libedata-cal/e-cal-backend-cache.c:
	(e_cal_backend_cache_get_type): Put a mutex lock
	so that the Type value does not get reset.

2006-01-17  Harish Krishnaswamy  <kharish@novell.com>

	* backends/caldav/Makefile.am: make distcheck
	fixes.

2006-01-16  Harish Krishnaswamy <kharish@novell.com>

	* backends/Makefile.am : Add caldav subdir.

2006-01-16  Harish Krishnaswamy <kharish@novell.com>

	* backends/caldav/* : 'Import' the CalDAV back-end 
	implementation into evolution-data-server. Please
	refer evolution-caldav module in cvs.gnome.org for
	prior Change history.
	
2006-01-16  Tony Tsui <tsui.tony@gmail.com>

	Fixes #267402
	* backends/http/e-cal-backend-http.c: (webcal_to_http_method,
	retrieval_done, begin_retrieval_cb): Add support for webcal access
	via https.

2006-01-12  Harish Krishnaswamy  <kharish@novell.com>

	* libecal/e-cal.c: (get_factories):
	The Cal Factory oafid should reflect
	the API version rather than the BASE version.
	Fixes #323115.

2006-01-10  Simon Zheng  <simon.zheng@sun.com>

	* backends/file/e-cal-backend-file.c:
	* backends/weather/e-weather-source-ccf.c:
	* libecal/e-cal-util.c:
	* libedata-cal/e-cal-backend-sexp.c:
	As file e-util.h is renamed, replace "libedataserver/e-util.h"
	as "libedataserver/e-data-server-util.h".

2006-01-10  Chenthill Palanisamy  <pchenthill@novell.com>


	Fixes #324518
	* backends/http/e-cal-backend-http.c:
	(notify_and_remove_from_cache): Remove the items from the cache.

2006-01-06  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #324741
	* backends/http/e-cal-backend-http.c: (e_cal_backend_http_open):
	Check if the default zone is present before adding it.

2006-01-05  Kjartan Maraas  <kmaraas@gnome.org>

	* backends/http/e-cal-backend-http.c:
	(notify_and_remove_from_cache): Use g_return_val_if_fail()
	in a non-void function not g_return_if_fail()
	* libecal/e-cal-component.c: (e_cal_component_get_id):
	Same as above.
	* libecal/e-cal-view-listener.c: (build_id_list): Fix
	type in function parameter.
	* tests/ecal/test-ecal.c: (all_tests): #if 0 out some
	unused stuff.
	* tests/ecal/test-recur.c: (main): Remove unused vars.

2006-01-04  Tor Lillqvist  <tml@novell.com>

	* backends/weather/e-weather-source-ccf.c (find_station_url):
	Modify call to e_util_replace_prefix() according to its changed
	interface.

	* backends/weather/Makefile.am: Need to pass E_DATA_SERVER_PREFIX
	because of the above.

2006-01-02  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #325498
	* backends/http/e-cal-backend-http.c:
	(e_cal_backend_http_finalize): Remove the source
	from the timeout loop. 

2005-12-21  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #305006
	* backends/file/e-cal-backend-file.c:
	(e_cal_backend_file_receive_objects): If the UID is not present
	generate own uid and if the method is publish.

2005-12-16  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #267330
	* libecal/e-cal-component.c: (e_cal_component_get_dtend),
	(e_cal_component_get_dtstart), (e_cal_component_get_due): Initialize
	internal elements of the datetime to avoid crashing.

2005-12-15  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #324009
	* backends/http/e-cal-backend-http.c:
	(e_cal_backend_http_get_object): Use g_object_unref
	to free the component instead of g_free.

2005-12-13  Tor Lillqvist  <tml@novell.com>

	* libecal/Makefile.am (INCLUDES): Drop unused EVOLUTION_LOCALEDIR.

2005-12-11  Tor Lillqvist  <tml@novell.com>

	* libecal/e-cal.c (set_local_attachment_store,
	e_cal_new_system_calendar, e_cal_new_system_tasks,
	e_cal_new_system_memos): Use g_build_filename() and
	g_filename_to_uri().

2005-12-09  Tor Lillqvist  <tml@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c: Use gstdio
	wrappers. Use g_filename_from_uri() and g_file_get_contents().

	* backends/weather/e-weather-source-ccf.c: Add localtime_r() and
	strtok_r() implementations for Win32.
	(find_station_url): Run-time lookup of the Locations.xml file on
	Win32. Use e_xml_parse_file.
	(tokenize): Remove unnecessary buffer allocation.

	* libecal/e-cal-util.c: Open file in binary mode. Compare
	localized strings using e_util_utf8_strcasecmp() instead of
	g_strcasecmp().

2005-12-08  Tor Lillqvist  <tml@novell.com>

	* backends/file/e-cal-backend-file.c
	* backends/groupwise/e-cal-backend-groupwise.c: Use gstdio
	wrappers for full non-ASCII filename support on Windows. Use
	g_path_get_basename() instead of looking for '/'. Use
	g_filename_to_uri() instead of prefixing "file://". Use
	g_file_get_contents() or GMappedFile (if built against GLib >=
	2.8) to read the attachment files.

2005-11-28  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #317322
	* backends/file/e-cal-backend-file.c:
	(get_object_string_from_fileobject),
	(e_cal_backend_file_remove_object): Handle the case
	of deleting a recurring event with no master object.

2005-11-28  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #318777
	* backends/file/e-cal-backend-file.c:
	(e_cal_backend_file_modify_object): Dont set the recurrence id
	again if its already present. Don't emit unnecessary modified
	signals.

2005-10-27  Chenthill Palanisamy  <pchenthill@novell.com>

	Reworked the patch from Matthew Daniel <bugzilla@mdaniel.scdi.com>

	Fixes #318130
	* backends/http/e-cal-backend-http.c: Include
	the file e-cal-time-util.h 

2005-10-26  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/file/e-cal-backend-file.c:
	(e_cal_backend_file_set_default_timezone): Removed
	the assertion statement to check if the icalcomp is 
	present. Its not needed as set_default_zone is called
	before loading now.

2005-10-24  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #308802
	* backends/contacts/e-cal-backend-contacts.c:
	(e_cal_backend_contacts_open):
	* backends/file/e-cal-backend-file.c: (e_cal_backend_file_open),
	(e_cal_backend_file_set_default_timezone):
	* backends/groupwise/e-cal-backend-groupwise.c:
	(connect_to_server), (e_cal_backend_groupwise_open),
	(e_cal_backend_groupwise_set_default_timezone):
	* backends/http/e-cal-backend-http.c: (e_cal_backend_http_open),
	(e_cal_backend_http_set_default_timezone):
	* backends/weather/e-cal-backend-weather.c:
	(e_cal_backend_weather_open): Default timezone is set before
	the loading the calendar, so put in the cache once the calendar is 
	loaded.
	* libecal/e-cal.c: (e_cal_set_default_timezone): Ensuring if the default 
	timezone is present in the server is not needed now.

2005-10-19  Harish Krishnaswamy <kharish@novell.com>
	
	Committing for Nathan Owens <pianocomp81@yahoo.com>
	
	* libecal/e-cal.c: (e_cal_new_system_memos): added backend
	support for Memos component. Finished implement VJOURNAL support
	* libecal/e-cal.h: (e_cal_new_system_memos): added prototype
	* tests/ecal/test-ecal.c: (test_new_system_memos): added memos test

2005-10-10  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #266144
	* backends/contacts/e-cal-backend-contacts.c:
	(contact_record_free): 
	* backends/http/e-cal-backend-http.c:
	(notify_and_remove_from_cache):
	* backends/weather/e-cal-backend-weather.c:
	(finished_retrieval_cb):
	* backends/file/e-cal-backend-file.c: (notify_removals_cb),
	(e_cal_backend_file_receive_objects): Use ECalComponentId.
	* backends/groupwise/e-cal-backend-groupwise-utils.[ch]:
	(e_gw_item_to_cal_component): Store the recurrence id in
	utc.
	(e_gw_connection_send_appointment): Get the component while
	accepting/declining from mail component and pass all_instances
	and get the partstat.
	the 
	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_remove_object), (change_status),
	(receive_object): Change the status of all recurring appointments
	if all_instances is set true.
	* idl/Evolution-DataServer-Calendar.idl: Added a structure
	to hold the recurrence id and uid to notify the component
	removed.
	* libecal/e-cal-component.c: (e_cal_component_get_id),
	(e_cal_component_free_id): Added new API's for getting
	the recurrence id and uid of a component.
	* libecal/e-cal-component.h: Added a structure of holding
	both the recurrence id and the uid.
	* libecal/e-cal-view-listener.c: (build_id_list),
	(impl_notifyObjectsRemoved):
	* libecal/e-cal-view.c: (objects_removed_cb):
	* libedata-cal/e-cal-backend-sync.c:
	(_e_cal_backend_remove_object):
	* libedata-cal/e-cal-backend.c: (match_query_and_notify),
	(e_cal_backend_notify_object_removed):
	* libedata-cal/e-cal-backend.h:
	* libedata-cal/e-data-cal-view.c: (uncache_with_id_cb),
	(remove_object_from_cache):
	(e_data_cal_view_notify_objects_removed),
	(e_data_cal_view_notify_objects_removed_1):
	* libedata-cal/e-data-cal-view.h:
	* libedata-cal/e-data-cal.c: (e_data_cal_notify_object_removed):
	* libedata-cal/e-data-cal.h: Changed the API's to use the 
	ECalComponentId structure instead of uid.
	
2005-10-07  Arunprakash  <arunp@novell.com>

	* libedata-cal/e-data-cal-factory.c (backend_last_client_gone_cb) :
	Use the same key for insertion and lookup in the backends hash table.
	(impl_CalFactory_getCal ): Same.
	** Fixes #317897.
	
2005-10-04  Dinesh Layek  <ldinesh@novell.com>

	Fixes #120071 
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_item_to_cal_component): Added a null check for
	the acceptlevel.

2005-10-01  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #314925
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(get_attendee_prop), (set_attendees_to_item): Get the 
	delegated attendee and remove the delfrom parameter.

2005-10-01  Harry Lu <harry.lu@sun.com>

	* libecal/e-cal.c: (generate_instances): use the same logic as in
	e_cal_recur_generate_instances_of_rule() to get the instance's
	start and end time.

2005-09-13  dinesh layek  <ldinesh@novell.com>

	fixes #316195
	* backends/http/e-cal-backend-http.c: (e_cal_backend_http_get_free_busy),
	(create_user_free_busy), (free_busy_instance), (resolve_tzid): modified/added these
	functions for publishing freebusy information of a web-calendar.

2005-09-22  Dinesh Layek  <ldinesh@novell.com>

	Fixes #309679
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_item_to_cal_component): Check accept_level

2005-09-27  Sarfraaz Ahmed <asarfraaz@novell.com>

	* libecal/e-cal.c (build_pass_key) : Do not recreate the uri. Instead
	strip the uri part after a ';'. The backend can now set its uri
	accordingly to have a consistent password key across multiple calendars
	* libedata-cal/e-data-cal-factory.c (impl_CalFactory_getCal) : Use the
	esource uri instead of the euri string to identify the calendar.
	Fixes #314746

2005-09-26  Wang Xin  <jedy.wang@sun.com>

	Fixes #317226

	* libecal/e-cal.c: (generate_instances): For all day events,
	set the timezone of start time and end time to default zone,
	in case that it is NULL.

2005-09-12  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #116162
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_connection_send_appointment): Check status in getItemsRequest.
	* backends/groupwise/e-cal-backend-groupwise.c: 
	(receive_object): Assign the modif_comp to comp only if the getItemsRequest
	fails.

2005-09-15  Tor Lillqvist  <tml@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c
	(e_gw_connection_send_appointment): Use g_ascii_strncasecmp()
	instead of strncasecmp() for well-definedness.

2005-09-01  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #114384
	* backends/groupwise/e-cal-backend-groupwise.c: (compare_prefix),
	(get_deltas): Do not get form the calendar events for recurring
	appointments, just compare the prefix of the cache key to identify
	the presence of the item.

2005-08-25  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #312853
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_item_to_cal_component): Intialize the tzid for
	all day events.

2005-08-22  Not Zed  <NotZed@Ximian.com>

	* backends/weather/e-weather-source.c (e_weather_source_new):
	constify base.  Include missing string.h.

	* backends/weather/e-cal-backend-weather.c
	(e_cal_backend_weather_open): constify uri.

	* backends/contacts/e-cal-backend-contacts.c
	(contacts_changed_cb): constify uid.

	* backends/http/e-cal-backend-http.c
	(e_cal_backend_http_get_timezone): constify zone.

	* backends/groupwise/e-cal-backend-groupwise.c (get_deltas):
	remove unused.
	(set_container_id_with_count): fix this logic so it doesn't use an
	unset container pointer.
	(connect_to_server): remove unused.
	(e_cal_backend_groupwise_get_static_capabilities): remove all the
	unecessary backslashes.

	* backends/file/e-cal-backend-file.c
	(e_cal_backend_file_modify_object)
	(remove_instance, e_cal_backend_file_remove_object): cast away
	warnings.
	(e_cal_backend_file_modify_object): fix function signature.  no
	idea what new_object should be set to.

	* libedata-cal/e-cal-backend-cache.c
	(e_cal_backend_cache_put_timezone): Cast away warnings.

	* libecal/e-cal-component.c (ensure_alarm_properties_cb): pass a
	string to icalproperty_set_description.  Not sure if it's the
	right one.
	(get_attachment_list): use const char * for data.
	(set_alarm_description_cb): use const for old_summary.
	(SetAlarmDescriptionData): constify strings.

	* libecal/e-cal.c (open_calendar): make parent_user const & remove
	unused.
	(e_cal_get_objects_for_uid): init kind_to_find always.

2005-08-23  Veerapuram Varadhan  <vvaradhan@novell.com>

	Fixes #310461 (part of it)
	* libecal/e-cal-component.c (set_attachment_list):
	Do not call icalattach_unref after icalproperty_free, as the later
	ends up executing the former and thus we can avoid double
	unreffing.

2005-08-22  Sarfraaz Ahmed <asarfraaz@novell.com>

	* libecal/e-cal.c (build_pass_key) : Builds the password key. Added new
	(get_host_from_uri) : Fetches the hostname from the esource. 

2005-08-21  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #271969
	* backends/file/e-cal-backend-file.c:
	(e_cal_backend_file_compute_changes):
	(e_cal_backend_file_compute_changes_foreach_key): Return
	boolean value as it as hash func.
	Committing for Armin Bauer  <armin.bauer@desscon.com>
	and modified by <jmubeen@novell.com> and
	<vvaradhan@novell.com>.

2005-08-17  Carsten Guenther <carsten.guenther@scalix.com>

	Fixes http://bugzilla.gnome.org/show_bug.cgi?id=313657
	* libecal/e-cal-recur.c:
	(cal_obj_remove_duplicates_and_invalid_dates,
	cal_obj_bymonthday_expand):
	If a occurrence falls on a day that does not exist for that
	month then move it to the last day of the month instead of
	skipping it.

2005-08-17  Chenthill Palanisamy  <pchenthill@novell.com>
	
	Fixes #311831
	* libecal/e-cal.c (cal_read_only_cb): Check if
       the op->bool is TRUE before emiting the cond
       signal.
       (get_read_only): set the op->bool to true while
       making the request.

2005-08-17  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #312578
	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_modify_object): Check the mod
	type and send the appropriate parameters for delegate
	request.

2005-08-12  P. S. Chakravarthi  <pchakravarthi@novell.com>

	Fixes #311078
	* backends/groupwise/e-cal-backend-groupwise.c:
	(populate_cache): percent is not allowed to go beyond 100

2005-08-11  Tor Lillqvist  <tml@novell.com>

	* backends/contacts/Makefile.am
	* backends/file/Makefile.am
	* backends/groupwise/Makefile.am
	* backends/http/Makefile.am
	* backends/weather/Makefile.am
	* libecal/Makefile.am
	* libedata-cal/Makefile.am: Link with all used libraries. Use
	-no-undefined on Win32.

	* backends/contacts/e-cal-backend-contacts-factory.c
	* backends/file/e-cal-backend-file-factory.c
	* backends/groupwise/e-cal-backend-groupwise-factory.c
	* backends/http/e-cal-backend-http-factory.c
	* backends/weather/e-cal-backend-weather-factory.c
	* libedata-cal/e-cal-backend-factory.c: : Drop inclusion of
	<pthread.h>, these files do not use any pthread API.

	* libecal/e-cal-component.c: No getgid() or getppid() on
	Win32, #define as 0.
	(e_cal_component_gen_uid): Use g_get_host_name() on Win32.

	* libecal/e-cal-recur.h (e_cal_recur_nth): Importing variables
	from DLLs can be a bit problematic, so use a functional API
	instead on Win32.

	* libecal/e-cal-recur.c (e_cal_get_recur_nth): Win32-only function
	that returns a pointer to the e_cal_recur_nth array.

2005-08-06  P. S. Chakravarthi	<pchakravarthi@novell.com>

	Fixes #309499
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(set_attendees_to_item): Reset the 'delfrom' parameter to 
	empty string and set the attendee_list back to the ECalComponent
       	so that recipient list is build, containing current invitees 
	only.  


2005-08-04  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #305590
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_connection_get_freebusy_info): Get the FreeBusyStatus
	element from the response before getting the FreeBusyInfo.

2005-08-02  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #310328
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_item_to_cal_component): Assign the date value alone
	for start and end date if its an allday event.

2005-07-27  Mengjie Yu  <meng-jie.yu@sun.com>

	* backends/file/e-cal-backend-file-events.c:
	Add reserved field for an empty structure.
	* backends/file/e-cal-backend-file-journal.c:
	Add reserved field for an empty structure.
	* backends/file/e-cal-backend-file-todos.c:
	Add reserved field for an empty structure.
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_item_to_cal_component):
	Convert a structure to the same type will fail under sun's compiler.
	* backends/weather/e-weather-source.c: (e_weather_source_parse):
	void function should not return value.

	Fixes #310198

2005-07-25  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #271837
	* libecal/e-cal.c: 
	(e_cal_get_object): Fix for build break in sun
	compiler.
	Committing for bugzilla-novell@thewrittenword.com.

2005-07-25  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #303548
	* backends/groupwise/e-cal-backend-groupwise.c: (populate_cache),
	(get_deltas): Removed the getItems call for getting the new items,
	instead check for new items with all ids returned in read cursors
	request.

2005-07-23  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_connection_send_appointment): Check if the container id
	is present in the item id before appending it.

2005-07-21  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_get_static_capabilities):
	* libecal/e-cal-util.h: Added a new static capability
	CAL_STATIC_CAPABILITY_HAS_UNACCEPTED_MEETING to identify
	the backends which allow unaccepted meetings to appear in
	calendar.

2005-07-19  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #310767
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_connection_send_appointment): Set the item_id for
	single instance also. Fixed typo error in X-GW-RECUR-INSTANCES-MOD-TYPE
	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_remove_object): Pass the recurrence
	key while accepting/declining all instances of a recurring
	appointment.

2005-07-13  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c: (populate_cache),
	(e_cal_backend_groupwise_create_object): Added "peek" in the view 
	while getting the items back from the server.
	(e_cal_backend_groupwise_remove_object): Intialize the list item_ids 
	to NULL.

2005-07-11  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_set_mode): Notify read_only to client(s).
	* libecal/e-cal.c (cal_read_only_cb),(open_calendar), 
	(e_cal_is_read_only), (get_read_only): Get the read only state
       from the backend only while opening the calendar. The backend would
       notify us if the state changes.
	(e_cal_get_cal_address), (cal_cal_address_cb): Get the cal_address
	only once from the backend.
	* libedata-cal/e-cal-backend.[ch]: (e_cal_backend_notify_readonly),
	(e_cal_backend_notify_cal_address): Methods to notify the changes
	in the backend.
	
	Commiting for viren.l <viren@novell.com>

2005-07-11  Chenthill Palanisamy  <pchenthill@novell.com>

	* idl/Evolution-DataServer-Calendar.idl: Interface for sending a request
	for an attachment and notifying the attachment list.
	* libecal/e-cal-listener.[ch]: (impl_notifyAttachmentListRequested),
	(e_cal_listener_class_init): listens to the backend and Notifies the client.
	* libecal/e-cal.[ch]: (cal_attachment_list_cb), (e_cal_init),
	(e_cal_get_attachments_for_comp): API to retrieve the attachment
	list for a calendar item.
	* libedata-cal/e-cal-backend-sync.[ch]:
	(e_cal_backend_sync_get_attachment_list),
	(_e_cal_backend_get_attachment_list),
	(e_cal_backend_sync_class_init): Methods to send request to corresponding
	backends and send notifications to the client.
	* libedata-cal/e-cal-backend.c:
	(e_cal_backend_get_attachment_list):
	* libedata-cal/e-cal-backend.h: Calls the sync implemention.
	* libedata-cal/e-data-cal.[ch]: (impl_Cal_getAttachmentList),
	(e_data_cal_class_init), (e_data_cal_notify_object_list),
	(e_data_cal_notify_attachment_list): Implements the request and the
	sends notification to the listener.
	* backends/file/e-cal-backend-file.c:
	(e_cal_backend_file_get_attachment_list),
	(e_cal_backend_file_class_init):
	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_get_attachment_list),
	(e_cal_backend_groupwise_class_init): Virtual methods to get
	the attachment for a calendar object.


2005-07-10  Sankar P  <psankar@novell.com>

	* libecal/e-cal.c: (open_calendar)
	Added a string which will be used for password prompt in case of a proxy account.

	* backends/groupwise/e-cal-backend-groupwise.c: (connect_to_server)
	Added code to set the backend permission based on the proxy rights with which a proxy can act.

2005-07-09  Harish Krishnaswamy  <kharish@novell.com>

	* libecal/e-cal.c: (e_cal_open_async), (e_cal_get_object),
	(e_cal_get_objects_for_uid), (e_cal_generate_instances_for_object),
	(e_cal_get_error_message): Fix some more compiler warnings.

2005-07-09  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c: (get_deltas):
	Fix compiler warnings.

2005-07-08  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_remove_object): Use removeItemsRequest
	for removing all the recurring posted appointments.
	(get_gw_item_id): Get the item id from the component.
	(get_deltas): Commented the read cursors request to get the icalids,
	since we need recurrece keys as we use it as the uid for recurrence items.
	Get the component from cache using uid and rid.
	* e-cal.c (e_cal_remove_object): Used CALOBJ_MOD_THIS since we are just removing
	one component.
	
2005-07-08  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(set_rrule_from_comp), (set_properties_from_cal_component),
	(e_gw_item_to_cal_component), (e_gw_connection_send_appointment):
	 add  support for creation of recurrence items by sending the 
	recurrence formula to the server instead of generating the 
	instances at the client end.
	* backends/groupwise/e-cal-backend-groupwise.c: 
	(e_cal_backend_groupwise_get_static_capabilities):
	 add capability	RECURRENCES_NO_MASTER.
	(e_cal_backend_groupwise_remove_object): add support for 
	removing all instances of a recurrence at one shot.
	* libecal/e-cal-util.h: Add a static capability 
	RECURRENCES_NO_MASTER. Backends that do not use master objects
	to represent recurrence information and store them as individual
	instances.
	* libecal/e-cal.c: (e_cal_get_recurrences_no_master)
	(e_cal_generate_instances_for_object): Do not expand instances for objects from 
	backends that do not have master object to represent recurrences.
	* libecal/e-cal.h:
	* libedata-cal/e-cal-backend-cache.[ch]
	(e_cal_backend_cache_get_components_by_uid):  Function to
	fetch all items in the cache that have the same uid. (recurrence
	items, detached instances etc.)

2005-07-08  Sankar P  <psankar@novell.com>
	
	* backends/groupwise/e-cal-backend-groupwise.c: (get_deltas)
	Moved from getQuickMessages to combination of getItems and readCursor, 
	to overcome the problems posed by getQuickMessages. 
	* libedata-cal/e-cal-backend-cache.[ch]: 
	(e_cal_backend_cache_get_key_value) 
	(e_cal_backend_cache_put_key_value):
	Added functions so as to put/get strings onto cache
	* libedata-cal/e-cal-backend-cache.[ch]:
	(e_cal_backend_cache_put_server_utc_time)
	Removed the unnecessary duplication of utc string.

2005-07-02  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c
	(e_gw_item_to_cal_component): Removed the debug messages.
	* backends/groupwise/e-cal-backend-groupwise.c: (populate_cache),
	(set_container_id_with_count), (connect_to_server): Get the number
	of elements present in the calendar folder and use to calculate the 
	percent.
	* libecal/e-cal-view-listener.c: (e_cal_view_listener_class_init):
	* libecal/e-cal-view.c: (e_cal_view_class_init): Marshal the elements
	with string_int.
	* libedata-cal/e-cal-backend.[ch]:
	(e_cal_backend_notify_view_progress),
	(e_cal_backend_notify_view_done): Added new functions to notify 
	the view progress.

2005-07-02  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.[ch]:
	Removed the function for getting container_id.

2005-07-02  Harish Krishnaswamy  <kharish@novell.com>

	Fixes #309079
	* libecal/e-cal.c: (e_cal_create_object): Fix
	memory leak

2005-06-23  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/http/Makefile.am: Removed unnecessary
	linking to file backend.

2005-06-22  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/Makefile.am: Removed unnecessary
	linking to file backend.

2005-06-21  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.h:
	* backends/groupwise/e-cal-backend-groupwise.h:
	Committing the changes made in the header file for delegate.

2005-06-20  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/file/e-cal-backend-file.c:
	(e_cal_backend_file_get_static_capabilities): Added
	the delegate support for file backend.
	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_get_static_capabilities):
	* libecal/e-cal-util.h: Added the static capability
	to support delegation to multiple delegatees.

2005-06-06  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(set_attendees_to_item): Add the delegatees only while
	for sending delegate request.
	(set_properties_from_cal_component): called the function 
	set_attendees_to_item to set attendees to component.
	(e_gw_item_new_for_delegate_from_cal): Create a new item for
       	delegation.
	(e_cal_backend_groupwise_utils_check_delegate): Checks if the 
	meeting is delegated.
	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_get_container_id): Gets the container
	id from cbgw.
	(e_cal_backend_groupwise_get_static_capabilities): Added
	the static capability for Delegate.
	(e_cal_backend_groupwise_modify_object): Check if the 
	meeting is delegated and send a delegate request.
	* backends/groupwise/e-cal-backend-groupwise.h: Added a function
	to get the container id.
	* libecal/e-cal-util.c: (e_cal_util_component_has_attendee):
	To check if the component has an attendee.
	* libecal/e-cal-util.h: Added the static capability for 
	delegate and for a supporting backends which has no organizer.

2005-05-18  Ross Burton  <ross@burtonini.com>

	* backends/contacts/e-cal-backend-contacts.c:
	Fix various memory leaks.

2005-05-18  Rodrigo Moya <rodrigo@novell.com>

	* backends/file/e-cal-backend-file-journal.[ch]: new class to implement
	VJOURNAL backend.

	* backends/file/e-cal-backend-factory.c (_journal_new_backend,
	_journal_get_kind, journal_backend_factory_class_init,
	journal_backend_factory_get_type): new functions for the journal backend.
	(eds_module_initialize, eds_module_list_types): add the new backend.

	* backends/file/Makefile.am: added new files.

2005-05-13  Rodrigo Moya <rodrigo@novell.com>

	* libedata-cal/e-cal-backend.c (e_cal_backend_get_cal_address):
	fixed gtk-doc comments for functions without return value.

2005-05-13  The Written Word <bugzilla-novell@thewrittenword.com>

	Fixes 271838

	* libedata-cal/e-cal-backend.c (e_cal_backend_get_object_list):
	don't return value from void function.

2005-05-13  Shreyas Srinivasan	<sshreyas@novell.com>

	* backends/contacts/e-cal-backend-contacts.c: Fix #256874
	
2005-05-12  Vivek Jain <jvivek@novell.com>
	
	 Fixes #271592
	 * backends/contacts/e-cal-backend-contacts.c:
	 (e_cal_backend_contacts_get_object):
	 check the uid to return the object corresponding to
	 birthday/anniversary

2005-05-11  Rodrigo Moya <rodrigo@novell.com>

	* libedata-cal/e-cal-backend-sync.c:
	* libedata-cal/e-cal-backend-util.c:
	* libedata-cal/e-cal-backend.c:
	* libedata-cal/e-data-cal-factory.c:
	* libedata-cal/e-data-cal-view.c:
	* libedata-cal/e-data-cal.c: improved API documentation.

2005-05-09  Sushma Rai  <rsushma@novell.com>

	* libedata-cal/e-cal-backend-cache.c (e_cal_backend_cache_constructor):
	Freeing cache file name.
	
	* calendar/backends/groupwise/e-cal-backend-groupwise.c (get_deltas):
	Checking for server time value, though typically this should never be NULL.
	(e_cal_backend_groupwise_get_object_list): Unref cbsexp.

	* calendar/backends/file/e-cal-backend-file.c
	(e_cal_backend_file_get_object_list)(create_user_free_busy): Unref sexp.

2005-05-06  Rodrigo Moya <rodrigo@novell.com>

	* libedata-cal/e-cal-backend-factory.c:
	* libedata-cal/e-cal-backend-sexp.c:
	* libedata-cal/e-cal-backend-cache.c: improved API documentation.
	(e_cal_backend_cache_put_server_utc_time): fixed leak.

2005-05-06  Rodrigo Moya <rodrigo@novell.com>

	* libecal/e-cal.c:
	* libecal/e-cal-time-util.c:
	* libecal/e-cal-view.c:
	* libecal/e-cal-view-listener.c:
	* libecal/e-cal-util.[ch]: improved API documentation.
	(e_cal_util_expand_uri): removed unused function.

2005-05-06  Rodrigo Moya <rodrigo@novell.com>

	Fixes #273264

	* libecal/e-cal.c (add_instance): set RECURRENCE-ID correctly.
	(generate_instances): use detached instances' start and end times, not
	the RECURRENCE-ID.

	* backends/file/e-cal-backend-file.c
	(e_cal_backend_file_modify_object): no need to add exceptions for
	detached recurrences.
	(e_cal_backend_file_get_static_capabilities): disable THISAND*, so that
	the broken GUI does not try to use them.

2005-05-04  Rodrigo Moya <rodrigo@novell.com>

	Fixes #300920

	* libecal/libecal.pc.in:
	* libedata-cal/libedata-cal.pc.in: fixed Name: and Description:
	fields.

2005-05-04  Rodrigo Moya <rodrigo@novell.com>

	* libecal/e-cal-component.c:
	* libecal/e-cal-listener.c:
	* libecal/e-cal-recur.[ch]: improved API documentation.

2005-04-19  Philip Van Hoof  <pvanhoof@gnome.org>

	* libecal/e-cal.c: Function prototype (compiler fix)
	
2005-04-18  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #274409
	* backends/groupwise/e-cal-backend-groupwise.c:
	(get_deltas_timeout), (cache_init), (connect_to_server):
	Run the get_deltas in a seperate thread instead of the main
	loop.
	(get_deltas): Added a static mutex lock.

2005-04-11  Vivek Jain <jvivek@novell.com>
	
	* backends/groupwise/e-cal-backend-groupwise.c :
	(e_cal_backend_groupwise_compute_changes_foreach_key):
	callback function should take (key, value)pair as first two arguments
	and then the user data  	
	
2005-04-08  Rodrigo Moya <rodrigo@novell.com>

	* libecal/e-cal-util.h: added new function's prototype.

2005-04-08  Rodrigo Moya <rodrigo@novell.com>

	Fixes #70035

	* libecal/e-cal-util.c (e_cal_util_parse_ics_string): new function that
	supports strings with multiple VCALENDAR's.

	* backends/http/e-cal-backend-http.c (retrieval_done): use the new
	function instead of icalparser_parse_string.

2004-04-06  Rodrigo Moya <rodrigo@novell.com>

	* libecal/e-cal.c (e_cal_open_async): check load state and if in
	progress or already loaded, notify caller and return.

2005-04-06  Chenthill Palanisamy  <pchenthill@novell.com>

	* libecal/e-cal.c
       	(open_calendar): Added a boolean variable in open_calendar
	to ensure authentication when the mode is switched.If the calendar is
	loaded  return TRUE. Set the load_state to not loaded if the loading
	fails.
	(open_async), (e_cal_open), (reopen_with_auth): Added additional
	argument for the open_calendar call.

2005-04-06  Christian Kellner  <gicmo@gnome.org>

	* libecal/e-cal.c (set_local_attachment_store): 
	Add support for scalix provider. Also plug a 
	small mem leak.
	Patch from Carsten Guenther <Carsten.Guenther@scalix.com>

2005-03-24  Chenthill Palanisamy  <pchenthill@novell.com>
	
	Fixes #73336	
	* backends/groupwise/e-cal-backend-groupwise.c:
	(connect_to_server): Check for the container id
	before calling the cache init.

2005-03-24  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #73508
	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_get_static_capabilities):
	* libecal/e-cal-util.h: Added a new static capability 
	to check and set the partstat as NEEDS ACTION for the
	organizer.
	* libecal/e-cal.[ch] (e_cal_get_organizer_must_accept):
	Added a function to check the static capability.

2005-03-12  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c:
	(connect_to_server): Run the get deltas in a thread to
	avoid the inresponsiveness of the GUI when evolution
	changes mode from offline to online.

2005-03-12  Harish Krishnaswamy <kharish@novell.com>
	
	* backends/groupwise/e-cal-backend-groupwise.c (get_deltas) :
	use 'peek' while downloading new items so when the calendar gets 
	the new item before the mailer has a chance to retrieve it, the item
	is not flagged read.
	
2005-03-12  Harish Krishnaswamy <kharish@novell.com>
	
	Fixes a memory corruption issue in GW backend 
	* backends/groupwise/e-cal-backend-groupwise.c (get_deltas) :
	strftime should be passed an array of sufficient length, not a
	char *. Fetch t_str from cache - so you are always sure of having 
	the correct value.Add some extra safety code checking empty strings.

2005-03-11  Sarfraaz Ahmed <asarfraaz@novell.com>

	* libecal/e-cal.c : Set the local_attachment_store for exchange
	
2005-03-08  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #73141
	* libecal/e-cal.c: (open_calendar): Check if the uri
	is not NULL before getting the password from
	e_passwords.

2005-03-06  Rodrigo Moya <rodrigo@novell.com>

	Fixes #72454

	* backends/http/e-cal-backend-http.c (begin_retrieval_cb): call
	g_object_set with correct arguments.

2005-02-28  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c: 
 	(get_deltas): Check if the component type is the same
	as the backend kind before sending notification to the 
	view.	

2005-02-28  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #72958
	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_create_object): If the server
	sends the status succes without uid present, then it
	must be due to delay delivery set, so do not put the component
	in the cache since it might not be created in the server.

2005-02-28  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c: (get_deltas):
	store the time_string immediately after the 'New' call.
	add missing view in the second getQM call - "attachments"

2005-02-25  Rodrigo Moya <rodrigo@novell.com>

	* backends/weather/e-cal-backend-weather.c
	(e_cal_backend_weather_get_static_capabilities): 'capabilities' is not
	an array, but an out char * argument.


2005-02-25  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c: (get_deltas):
	Changed the getQm calls since the function has been changed.
	Send the time stamps received from the server.
	* libedata-cal/e-cal-backend-cache.c:
	(e_cal_backend_cache_put_server_utc_time),
	(e_cal_backend_cache_get_server_utc_time):
	* libedata-cal/e-cal-backend-cache.h:  Added functions
	to put the server UTC time in cache.

2005-02-25  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c: (populate_cache):
	Do not use position cursor calls anymore. use position field in 
	read cursor request.

2005-02-22  Rodrigo Moya <rodrigo@novell.com>

	* backends/http/e-cal-backend-http.c (e_cal_backend_http_init):
	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_init):
	* backends/weather/e-cal-backend-weather.c
	(e_cal_backend_weather_init): set backend's lock to TRUE.

2005-02-22  JP Rosevear  <jpr@novell.com>

	* libedata-cal/e-cal-backend-sync.c: added a lock wrapper to make
	calls be locked if backend is set so.
	(e_cal_backend_sync_set_lock): new function.
	(e_cal_backend_sync_is_read_only, e_cal_backend_sync_get_cal_address,
	e_cal_backend_sync_get_alarm_email_address,
	e_cal_backend_sync_get_ldap_attribute,
	e_cal_backend_sync_get_static_capabilities, e_cal_backend_sync_open,
	e_cal_backend_sync_remove, e_cal_backend_sync_create_object,
	e_cal_backend_sync_modify_object, e_cal_backend_sync_remove_object,
	e_cal_backend_sync_discard_alarm, e_cal_backend_sync_receive_objects,
	e_cal_backend_sync_send_objects, e_cal_backend_sync_get_default_object,
	e_cal_backend_sync_get_object, e_cal_backend_sync_get_object_list,
	e_cal_backend_sync_get_timezone, e_cal_backend_sync_add_timezone,
	e_cal_backend_sync_set_default_timezone, e_cal_backend_sync_get_changes,
	e_cal_backend_sync_get_free_busy): wrap calls to backend methods in
	our lock wrapper.

	* backends/contacts/e-cal-backend-contacts.c
	(e_cal_backend_contacts_init):
	* backends/file/e-cal-backend-file.c (e_cal_backend_file_init):
	set backend's lock to TRUE.

2005-02-22  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_connection_send_appointment): Return the status as it is.
	* backends/groupwise/e-cal-backend-groupwise.c
       	(receive_object): Removed the check for modified item and ok status.
	Instead checked for the status ALREADY_ACCEPTED directly.

2005-02-22  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes 71490
	* backends/http/e-cal-backend-http.c
       	(retrieval_done):If the vcalendar component does not
	have the UID property, do not add the component the
	component into the cache.

2005-02-21  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(get_attach_data_from_server), (set_attachments_to_cal_component),
	(e_gw_item_to_cal_component):  Download the attachments from the server
	only if they are not already present in the cache.
	
2005-02-17  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c: 
	(populate_cache),(cache_init): Moved the get categories
	call from populate_cache to cache_init since it has to be
	called everytime.
	(e_cal_backend_groupwise_finalize),
	(e_cal_backend_groupwise_init): Hash table for categories
	need not be created/destroyed, connection will handle it.

2005-02-11  Rodrigo Moya <rodrigo@gnome-db.org>

	Fixes #71545

	* libecal/e-cal-view.c (objects_added_cb, objects_modified_cb,
	objects_removed_cb): ref/unref the view before/after emitting the
	signal.

2005-02-11  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #72107
	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_open): insert a g_mutex_unlock.

2005-02-10  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes a crash
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_item_to_cal_component): Check whether the creation 
	date is present, before converting it to icaltimetype.

2005-02-09  Rodrigo Moya <rodrigo@novell.com>

	* libecal/e-cal.c (open_calendar): use e_return_error_if_fail instead
	of g_return_val_if_fail.

2005-02-08  Rodrigo Moya <rodrigo@novell.com>

	* libecal/e-cal.c (add_instance): set correctly (again) the recurid.
	(generate_instances): set correctly instance times for detached
	occurrences.

2005-02-08  Rodrigo Moya <rodrigo@novell.com>

	* libecal/e-cal.c (add_instance): recurrence-id needs to be a date
	only.

	* backends/file/e-cal-backend-file.c (add_component): g_strdup the
	key for the hash table.
	(free_object_data): free the hash table key when freeing objects.
	(free_calendar_components, remove_component): no need to free the
	object's data here, this is done now automatically by the hash table.
	(open_cal, create_cal, reload_cal): create hash table with
	g_hash_table_new_full.

2005-02-08  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c (get_deltas):
	add attachments to the getQuickMessages view so they can listen
	for changes in attachments.

2005-02-08  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_remove_object): Assign the
	value for the *object as NULL and duped value to
	*old_object since calobj is freed later.

2005-02-07  JP Rosevear  <jpr@novell.com>

	* backends/weather/e-cal-backend-weather.c (getCategory): don't
	translate the empty string

2005-02-07  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c:
	(ECalBackendGroupwisePrivate): Added a boolean variable
	to check if the mode has been changed.
	(get_deltas): put component replaces there is an existing 
	component, so removed the remove_component call. Before
	getting the vtype of the component, check if comp is NULL.
	(cache_init): Insert the timeout call for getQuickMessages
	only for events.
	(connect_to_server): Add the timeout call for getquickmessages
	only if the mode has been changed.
	(e_cal_backend_groupwise_set_mode): Set the mode_changed variable.

2005-02-04  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_item_to_cal_component): Added a string for 
	 reply requested in send options.
	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_open): Removed the error
	notify message for Repository offline since it would
	be handled from frontend.
	Fixes #72117
	(e_cal_backend_groupwise_create_object): Check for
	the UID, if not present send an error message.

2005-02-04  Rodrigo Moya <rodrigo@novell.com>

	* tests/ecal/test-recur.c: removed libgnome usage.
	(main): use arguments correctly.

2005-02-04  Rodrigo Moya <rodrigo@novell.com>

	* libecal/e-cal.c (generate_instances): don't expand recurrences
	for detached instances.

	* tests/ecal/test-recur.c:
	* tests/ecal/Makefile.am: added recurrence test.

2005-02-04  Ross Burton  <ross@burtonini.com>

	* tests/ecal/test-search.c:
	Remove useless libgnome usage.

2005-02-03  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(set_categories_for_gw_item), (add_send_options_data_to_item),
	(set_properties_from_cal_component), (get_attach_data_from_server),
	(e_gw_item_to_cal_component), (e_gw_connection_send_appointment),
	(e_gw_connection_get_freebusy_info),
	(e_cal_backend_groupwise_store_settings): Fixed the compiler warnings
	and set the datetime value for the replywithin variable due to change
	in schemas.

2005-01-03 Vivek Jain <jvivek@novell.com>

	* idl/Evolution-DataServer-Calendar.idl: 
	  added InvalidServerVersion in the callstatus
	* libecal/e-cal-types.h: (added INVALID_SEVER_VERSION)
	* libecal/e-cal-listener.c (convert_status): added
	  INVALID_SERVER_VERSION
	* backends/groupwise/e-cal-backend-groupwise.c
	(connect_to_server): return the different callstatus if server doesn't return the
	version

2005-02-02  Ross Burton  <ross@burtonini.com>

	* backends/contacts/e-cal-backend-contacts.c:
	* backends/file/e-cal-backend-file.c:
	* backends/groupwise/e-cal-backend-groupwise.c:
	* backends/http/e-cal-backend-http.c:
	* backends/weather/e-cal-backend-weather.c:
	* backends/weather/e-weather-source-ccf.c:
	* libecal/e-cal-component.c:
	* libecal/e-cal-recur.c:
	* libecal/e-cal-util.c:
	* libecal/e-cal.c:
	* libedata-cal/e-cal-backend-sexp.c:
	* tests/ecal/test-ecal.c:
	Use glib/gi18n.h

2005-02-02  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #72004
	* backends/groupwise/e-cal-backend-groupwise.c: (get_deltas),
	(e_cal_backend_groupwise_get_free_busy),
	(e_cal_backend_groupwise_create_object),
	(e_cal_backend_groupwise_modify_object),
	(e_cal_backend_groupwise_remove_object), (receive_object): If
	Invalid connection error is returned from e-gw-connection, perform
	the operation again since re_authenticate method in gw-connection.c
	would give us a new valid session.

2005-01-31  Hans Petter Jansson  <hpj@novell.com>

	* idl/Evolution-DataServer-Calendar.idl: Change the name of the
	multiple inclusion protection define, so it doesn't conflict with
	that in Evolution proper.

2005-01-31  Hans Petter Jansson  <hpj@novell.com>

	* backends/file/Makefile.am:
	* backends/weather/Makefile.am:
	* backends/http/Makefile.am:
	* backends/groupwise/Makefile.am:
	* backends/contacts/Makefile.am:
	Build as modules.

2005-01-31  Chenthill Palanisamy  <pchenthill@novell.com>

	Fixes #64682
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_connection_create_appointment): IF the appointment
	is moved from another calendar, send the createItemsRequest 
	to the server, so that it does not send mails to the 
	recipients.

2005-01-31  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(cache_init, connect_to_server): GW Task backend now relies
	on the Calendar backend to fetch changes. This reduces the
	load on the GW server.
	
2005-01-29 Sivaiah Nallagatla <snallagatla@novell.com>

	* calendar/backends/groupwise/e-cal-backend-groupwise.c 
	(from_uri) : Change the default port to 7191 

2005-01-28  Rodrigo Moya <rodrigo@novell.com>

	* idl/Evolution-DataServer-Calendar.idl: removed
	notifyCategoriesChanged method on CalListener.

	* libedata-cal/e-cal-backend.[ch] (e_cal_backend_init,
	e_cal_backend_finalize, e_cal_backend_add_client): no need
	to deal with categories now.
	(free_category_cb, prune_changed_categories, add_category_cb,
	notify_categories_changed, idle_notify_categories_changed,
	e_cal_backend_ref_categories, e_cal_backend_unref_categories):
	removed.

	* libedata-cal/e-data-cal.[ch]
	(e_data_cal_notify_categories_changed): removed.

	* backends/file/e-cal-backend-file.c (add_component,
	remove_recurrence_cb, remove_component, remove_instance,
	remove_object_instance_cb): no need to deal with categories now.

	* libecal/e-cal-listener.[ch]: removed "categories_changed" signal.
	(impl_notifyCategoriesChanged): removed.
	(e_cal_listener_class_init): don't set removed method. Don't create
	"categories_changed" signal.

	* libecal/e-cal.[ch]: removed "categories_changed" signal.
	(categories_changed_idle_cb, categories_changed): removed.
	(e_cal_init): removed connection to listener's "categories_changed"
	signal.
	(e_cal_class_init): don't create "categories_changed" signal.

2005-01-27  Chenthill Palanisamy  <pchenthill@novell.com>

	partially Fixes#68541
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(start_freebusy_session), (close_freebusy_session),
	(e_gw_connection_get_freebusy_info): Return the error
	message as NO_RESPONSE if the server is not responding.
	* backends/groupwise/e-cal-backend-groupwise.c (get_deltas):
	Handled the NO_RESPONSE error status.

2005-01-27  Rodrigo Moya <rodrigo@novell.com>

	* backends/file/e-cal-backend-file.c: added a GMutex for the idle saving
	callback.
	(save_file_when_idle, save): lock/unlock the mutex while setting values.
	(e_cal_backend_file_finalize): unref the mutex.
	(e_cal_backend_file_init): create the mutex.

2005-01-26  Rodrigo Moya <rodrigo@novell.com>

	* backends/file/e-cal-backend-file.c (add_component): save the file
	when we add the component to the toplevel.
	(remove_component): make sure we always save the file.

2005-01-26  JP Rosevear  <jpr@novell.com>

	* libecal/e-cal.c (e_cal_send_objects): fix leak in the error case

2005-01-25  Rodrigo Moya <rodrigo@novell.com>

	* backends/file/e-cal-backend-file.c (save_file_when_idle):
	uninstall idle handler when successfully saving the file.

2005-01-24  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c
	(e_gw_connection_send_appointment) : The server now mandates
	"default" to be included for views in get_item calls.

2005-01-20  Chenthill Palanisamy  <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(set_properties_from_cal_component): If the default zone is
	not set use utc, instead of returning NULL for the item.

2005-01-19  Rodrigo Moya <rodrigo@novell.com>

	* backends/file/e-cal-backend-file.c (cancel_received_object): deal
	with instances.

2005-01-19  Rodrigo Moya <rodrigo@novell.com>

	* backends/file/e-cal-backend-file.c
	(e_cal_backend_file_receive_objects): set the correct method on the
	VCALENDAR we create or it will fail in the code below. Deal correctly
	with detached recurrences.
	(remove_instance): unref the categories before removing the recurrences
	from the hash table.

2005-01-19  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_create_object) : Add 'default' to
	the view argument, as this is now necessary for the server
	to display the default values.

2005-01-18  Rodrigo Moya <rodrigo@novell.com>

	Fixes #68599

	* libedata-cal/e-cal-backend-cache.c
	(e_cal_backend_cache_get_component): make sure we always return a
	valid ECalComponent.
	(e_cal_backend_cache_get_components): ditto.

2005-01-17  Rodrigo Moya <rodrigo@novell.com>

	* backends/file/e-cal-backend-file.c (add_component,
	remove_recurrence_cb, remove_component, remove_instance,
	remove_object_instance_cb):
	removed code related to the categories_changed signal.

2005-01-17  Rodrigo Moya <rodrigo@novell.com>

	* backends/file/e-cal-backend-file.c (save_file_when_idle): don't
	save the file if it's not dirty!

2005-01-17  Rodrigo Moya <rodrigo@novell.com>

	* backends/file/e-cal-backend-file.c: use guint for idle id.

2005-01-17  Rodrigo Moya <rodrigo@novell.com>

	Fixes #57567

	* backends/file/e-cal-backend-file.c (save_file_when_idle): new
	function, to save the file to disk at application's idle times.
	(save): changed to just set the idle callback the first time and then,
	just mark the file as dirty.
	(e_cal_backend_file_finalize): remove the idle callback.
	(e_cal_backend_file_dispose): save the file if dirty.
	(e_cal_backend_file_init): initialize new members.

2005-01-17  Rodrigo Moya <rodrigo@novell.com>

	* libecal/e-cal-view.c (e_cal_view_set_property): make sure we clean
	up the old view and listener before setting the new ones.

2005-01-12  Rodrigo Moya <rodrigo@novell.com>

	Fixes #67974

	* backends/http/e-cal-backend-http.c (begin_retrieval_cb): set the
	HTTP proxy on the SoupSession if configuration is set to use it.

2005-01-12  Not Zed  <NotZed@Ximian.com>

	* backends/http/e-cal-backend-http.c (retrieval_done): warning fix
	cast.

2005-01-12  David Trowbridge  <trowbrds@cs.colorado.edu>

	* backends/weather/e-cal-backend-weather.c: Use a single
	metric/imperial setting rather than separate temperature and
	snowfall settings

2005-01-10  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c:
	(fetch_attachments), (receive_object): Function to fetch
	the attachments data into the file calendar store from the
	camel cache.
	
2005-01-10  Harish Krishnaswamy  <kharish@novell.com>

	* backends/file/e-cal-backend-file.c: (fetch_attachments),
	(e_cal_backend_file_receive_objects): Function to fetch
	the attachments data into the file calendar store from the
	camel cache.

2005-01-10 Chenthill Palanisamy <pchenthill@novell.com>

	* backends/groupwise/e-cal-backends-groupwise-utils.h:
	Missed to commit this file before.

2005-01-10  David Trowbridge <trowbrds@cs.colorado.edu>

	* backends/weather/e-cal-backend-weather.c: add the city name to the
	summary field

2005-01-10  Harish Krishnaswamy  <kharish@novell.com>


	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_cal_backend_groupwise_set_attachments_from_comp),
	(set_properties_from_cal_component), (get_attach_data_from_server),
	(set_attachments_to_cal_component), (e_gw_item_to_cal_component):
	Attachment support for Groupwise calendar and task items.
	(e_cal_backend_groupwise_store_settings): Remove unused variable.
	* backends/groupwise/e-cal-backend-groupwise.[ch]: (populate_cache),
	(e_cal_backend_groupwise_finalize), (e_cal_backend_groupwise_open),
	(e_cal_backend_groupwise_notify_error_code),
	(e_cal_backend_groupwise_get_local_attachments_store): 
	set the path to the attachment store in the filesystem.
	* libecal/e-cal.[ch] (e_cal_init), (e_cal_finalize),
	(set_local_attachment_store), (e_cal_new), 
	(e_cal_get_local_attachment_store): Add a new member to ECal that
	stores the local attachment store for various backends.
	

2005-01-08  JP Rosevear  <jpr@novell.com>

	* backends/weather/e-cal-backend-weather.c (create_weather): make
	sure we don't free a static string

2005-01-08  Harish Krishnaswamy  <kharish@novell.com>

	* backends/contacts/e-cal-backend-contacts.c:
	(e_cal_backend_contacts_finalize): destroy the addressbooks
	hashtable. Partially fixes #68533.
	* libecal/e-cal-component.[ch] (free_icalcomponent),
	(scan_attachment), (scan_property),
	(get_attachment_list), (set_attachment_list),
	(e_cal_component_get_attachment_list),
	(e_cal_component_set_attachment_list),
	(e_cal_component_has_attachments),
	(e_cal_component_get_num_attachments): add support for handling
	attach properties in e-cal-components.
	* libedata-cal/e-cal-backend-sexp.c 
	(e_cal_backend_sexp_match_comp):remove unref on null comp.
	
2005-01-06  David Trowbridge <trowbrds@cs.colorado.edu>

	* backends/weather/*: Import weather calendar backend

2005-01-06 Chenthill Palanisamy <pchenthill@novell.com>
	
	* backends/groupwise/e-cal-backends-groupwise-utils.[ch]:
	Added a new function to set the send options in e sources.
	(add_send_options_data_to_item): Set the set_sendoptions variable
	if there are some X-Properties for send options.
	* backends/groupwise/e-cal-backend-groupwise.c:
	(cache_init): get the send options settings.	

2004-12-24  Rodrigo Moya <rodrigo@novell.com>

	* backends/file/e-cal-backend-file.c (remove_component): made it work
	for objects with only detached instances.
	(remove_object_instance_cb): fixed warning.
	(e_cal_backend_file_modify_object, e_cal_backend_file_remove_object,
	e_cal_backend_file_receive_objects): adapted to changes in
	remove_component.
	(e_cal_backend_file_remove_object): call remove_component for the
	CALOBJ_MOD_ALL case, since remove_component takes care of everything
	now.
	(cancel_received_object): look for the object in the comp_uid_hash,
	since we need to pass the ECalBackendFileObject struct to
	remove_component.

2004-12-23  Rodrigo Moya <rodrigo@novell.com>

	* libedata-cal/e-data-cal-view.c (impl_EDataCalView_start): removed
	warnings.

	* backends/file/e-cal-backend-file.c: changed recurrence hash table
	to use g_hash_table_new and automatic disposal of key/value pairs.
	(free_recurrence): removed, not needed now.
	(free_object): just destroy de recurrences hash table.
	(add_component): create recurrences hash table with _new_full.
	(remove_recurrence_cb): changed to a GHRFunc.
	(remove_component): use g_hash_table_foreach_remove to clear the
	recurrences hash table.
	(remove_object_instance_cb, e_cal_backend_file_modify_object,
	remove_instance): no need to free hash table data here.

2004-12-22 Chenthill Palanisamy <pchenthill@novell.com>

	Part of merge from offline branch 
	* backends/groupwise/e-cal-backend-groupwise.c :
	(e_cal_backend_groupwise_open): Check for the property 
	offline_sync in source and display the contents of the
	calendar.

2004-12-22 Sivaiah Nallagatla <snallagatla@novell.com>

	Part of merge from offline branch 
	
	* idl/Evolution-DataServer-Calendar.idl : added 
	new error code OfflineUnavailable 

2004-12-22 Sivaiah Nallagatla <snallagatla@novell.com>

	Part of merge from offline branch 
	
	* idl/Evolution-DataServer-Calendar.idl : added a new method 
	notifyAuthRequired to cal listener interface 

	* libedata-cal/e-cal-backend.[ch]
	(e_cal_backend_notify_auth_required):
	
	* libedatacal/e-data-cal.[ch] 
	(e_data_cal_notify_auth_required) : methods for backend 
	to notify clients about auth when mode is changed to online
	
	* libecal/e-cal-listener.[ch] : implemented notifyAuthRequired
	interface and  add AUTH_REQUIRED signal 
	
	* libecal/e-cal.c : connect to AUTH_REQUIRED signal of cal listener
	and call e_cal_open in the singnal call back 
	(open_calendar) : don't call e_password stuff in offline mode

	* libecal/e-cal-marshal.list : added NONE:NONE to list 	

	* backends/groupwise/e-cal-backend-groupwise.c 
	(e_cal_backend_groupwise_set_mode) : send auth required notification
	when mode changes to online
 
	
2004-12-22 Sivaiah Nallagatla   <snallagatla@novell.com>

	Part of merge from offline branch 
	
	* backends/http/e-cal-backend-http.c 
	(e_cal_backend_http_set_mode): When mode is switched 
	from offline to online start time out handler to periodically
	download the conetnets. Call e_cal_backend_notify only 
	when backend is loaded 
        (e_cal_backend_http_open) : cast the backend object using E_CAL_BACKEND
	to avoid waring while passing it to e_cal_backend_notify_error 
	
2004-12-22 Chenthill Palanisamy <pchenthill@novell.com>

	Part of merge from offline branch 
	
	* backends/http/e-cal-backend-http.c
	(e_cal_backend_http_open): Do not connect to the url in 
	offline, read only the contents from the cache.
	(e_cal_backend_http_set_mode): If the calendar moves from
	online to offline remove the timeout function.
	
2004-12-22 Chenthill Palanisamy <pchenthill@novell.com>

	Part of merge from offline branch 
	* backends/groupwise/e-cal-backend-groupwise.c
	(in_offline): If calendar is in offline remove the connection
	and the remove the timeout function if they are active, Mark the 
	calendar to be read only.
	(connect_to_server): This will be called through open method when 
	the calendar changes from offline to online. In that case invoke the 
	timeout functions.
	(e_cal_backend_groupwise_finalize): Assign zero to the timeout id.
	(e_cal_backend_groupwise_open): If the calendar is opened in offline 
	mode, show the contents from the cache and mark the calendar as offline.
	(e_cal_backend_groupwise_set_mode): Removed the connect_to_server function
	call, it should be called through the open method since password is needed to 
	create a new connection.
	(e_cal_backend_groupwise_get_freebusy):
	(e_cal_backend_groupwise_create_object):
	(e_cal_backend_groupwise_modify_object):
	(e_cal_backend_groupwise_remove_object):
	(e_cal_backend_groupwise_receive_objects):
	(e_cal_backend_groupwise_send_objects): If the Calendar is in Offline mode
	remove the timeout function and the connection and return an error message.
	(e_cal_backend_groupwise_init): Initialize the connection to NULL.
	(get_deltas): IF the calendar is in offline mode, return False.
	
2004-12-22  Sivaiah Nallagatla  <snallagatla@novell.com>

	Part of merge from offline branch 
	
	* libedata-cal/e-data-cal-factory.[ch] : new fucntions
	(e_data_cal_factory_set_backend_mode) : set online/offline mode on 
	all the backends it has created. 
	(set_backend_online_status) : function to set online/offline 
	mode on a backend
	(impl_CalFactory_getCal) : modified this function to 
	set online/offline mode on the backend after creatng it

2004-12-22  Rodrigo Moya <rodrigo@novell.com>

	* backends/http/e-cal-backend-http.c (e_cal_backend_http_get_timezone):
	search timezones in the cache also.
	(e_cal_backend_http_add_timezone): add the timezones to the cache.

	* libecal/e-cal-util.c (e_cal_util_construct_instance): removed
	FIXME comment.

2004-12-21  Rodrigo Moya <rodrigo@novell.com>

	* backends/file/e-cal-backend-file.c (e_cal_backend_file_remove_object):
	deal correctly with objects only having detached instances and no master
	object.

2004-12-20  Anders Carlsson  <andersca@gnome.org>

	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_modify_object), (send_object):
	* backends/http/e-cal-backend-http.c:
	(e_cal_backend_http_modify_object):
	* libedata-cal/e-cal-backend-sync.c:
	(e_cal_backend_sync_modify_object), (_e_cal_backend_modify_object):
	* libedata-cal/e-cal-backend-sync.h:
	Add support for passing a modified object from sync backends.
	
2004-12-18  JP Rosevear  <jpr@novell.com>

	Fixes #70127
	
	* backends/http/e-cal-backend-http.c (begin_retrieval_cb): add
	user agent header

2004-12-15  Rodrigo Moya <rodrigo@novell.com>

	Merge from recurrences-work-branch

	* libecal/e-cal.c (open_calendar): added missing calls to
	e_calendar_remove_op/e_calendar_free_op.
	(add_instance): enable code to set the recurrence ID on each instance.

	* libedata-cal/e-data-cal.[ch] (e_data_cal_notify_object_removed): added
	new argument to have backends send both the object before and after the
	modification.

	* libedata-cal/e-cal-backend.[ch] (e_cal_backend_modify_object):
	pass correct number of arguments to e_cal_backend_notify_object_removed.
	(match_query_and_notify, e_cal_backend_notify_object_modified): separated
	the notification logic from e_cal_backend_notify_object_modified.
	(e_cal_backend_notify_object_removed): added new argument to have
	backends send both the object before and after the modification.

	* libedata-cal/e-cal-backend-sync.[ch] (e_cal_backend_sync_remove_object):
	added a new argument to send the object as it was before being removed.
	Also, change meaning of 'object' argument to contain the object as it
	is after being modified, or NULL if it was removed.
	(_e_cal_backend_remove_object): adapted to change in method arguments
	and pass correct number of arguments to e_data_cal_notify_object_removed.

	* backends/contacts/e-cal-backend-contacts.c (contact_record_free):
	pass correct number of arguments to e_cal_backend_notify_object_removed.
	
	* backends/file/e-cal-backend-file.c (notify_removals_cb,
	e_cal_backend_file_receive_objects):
	pass correct number of arguments to e_cal_backend_notify_object_removed.
	(remove_object_instance_cb, e_cal_backend_file_modify_object): adapted to
	support detached recurrences and THISANDPRIOR/THISANDFUTURE.
	(e_cal_backend_file_remove_object): adapted to method changes.

	* backends/groupwise/e-cal-backend-groupwise.c (get_deltas, receive_object):
	pass correct number of arguments to e_cal_backend_notify_object_removed.
	(e_cal_backend_groupwise_remove_object): adapted to method changes.

	* backends/http/e-cal-backend-http.c (notify_and_remove_from_cache):
	pass correct number of arguments to e_cal_backend_notify_object_removed.
	(e_cal_backend_http_remove_object): adapted to method changes.

2004-12-15  Chenthill Palanisamy <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(add_send_options_data_to_item),
	(set_properties_from_cal_component):Added a new local function
	for reading the properties  for send options.
	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_get_static_capabilities): Checked for new 
	static capabilities.
	* libecal/e-cal-util.h: Defined two new static capabilities required for 
	send options.

2004-12-13  Harish Krishnaswamy <kharish@novell.com>

	* libedata-cal/e-cal-backend.c 
	(e_cal_backend_notify_object_removed, 
	e_cal_backend_notify_object_modified,
	e_cal_backend_notify_object_added ):
	Remove the unrefs on queries as the get_queries
	does not ref anymore while returning.
	
2004-12-09  Rodrigo Moya <rodrigo@novell.com>

	Fixes #70267

	* backends/groupwise/e-cal-backend-groupwise.c (get_deltas):
	* backends/http/e-cal-backend-groupwise.c (retrieval_done): freeze
	the cache when doing mass updates to do only one write to disk.

2004-12-09  Harish Krishnamwamy <kharish@novell.com>
	Fixes for various leaks causing memory build-ups in eds.
	
	* libecal/e-cal-listener.c (impl_notifyFreeBusy):
	l->data should be unref'd - not free'd.
	* libedata-cal/e-cal-backend.c (get_queries):
	Do not ref the queries while returning them. This is unnecessary.
	* libedata-cal/e-cal-backend-sexp.c (e_cal_backend_sexp_match_comp) :
	unref the comp and backend while returning.
	
	
2004-12-06  Harish Krishnaswamy <kharish@novell.com> 
	* backends/groupwise/e-cal-backend-groupwise-utils.c 
	(e_gw_connection_send_appointment) : Add correct view arguments 
	specific to appointment. 'folders' is not used by appointments.
	
2004-12-05  Sivaiah Nallagatla <snallagatla@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c
	(e_gw_connection_send_appointment) : Pass view argument while calling
	e_gw_connection_get_item.

 
2004-12-02  Chenthill Palanisamy <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c:
	(receive_object): Freed the string variables and unref the 
	components.
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_connection_get_freebusy_info): Need not use strdup here.
	

2004-11-18 Sivaiah Nallagatla <snallagatla@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c 
	(populate_cache) (get_deltas) : added "default" to 
	the view wherever we want to get complete item along 
	with iCalId
	part of fix for #69624
	 
2004-10-29  Sivaiah Nallagatla <snallagatla@novell.com>

	* backends/groupwise/e-ca-backend-groupwise.c 
	(cache_init) : remove the set_marker call from the begining of the 
	functions. accidently placed in the last commit 

2004-10-29  Sivaiah Nallagatla <snallagatla@novell.com>

        * backends/groupwise/e-cal-backends-groupwise.c
        (cache_init) : Read the getQm poll interval
        from GETQM_TIME_INTERVAL. If not availbale
        use default value.

2004-10-28  Harish Krishnaswamy <kharish@novell.com>
	* backends/groupwise/e-cal-backend-groupwise.c:
	Set the CACHE_REFRESH_INTERVAL to 10 mins.
	
2004-10-28  Rodrigo Moya <rodrigo@novell.com>

	* libecal/e-cal.[ch] (e_cal_get_objects_for_uid): new function
	to retrieve objects and detached recurrences for that object.
	(e_cal_get_object): deal with the backend returning a VCALENDAR
	object. In that case, just get the first component of the same
	type we are using.
	(generate_instances): when we have an UID, use the new function
	e_cal_get_objects_for_uid, avoiding countless calls to
	e_cal_get_object_list.

	* backends/file/e-cal-backend-file.c (e_cal_backend_file_get_object):
	if we have detached instances, return a VCALENDAR with the master
	object and any detached instance.

2004-10-15  Chenthill Palanisamy <pchenthill@novell.com>
	
	Fixes #67031
	* backends/groupwise/e-cal-backends-groupwise-utils.c
	(e_gw_item_to_cal_component): Set the completed date. For
	posted tasks set it as the current time.
	* backends/groupwise/e-cal-backends-groupwise.c
	(e_cal_backend_groupwise_modify_object): Update the item in
	the cache after completing the task.

2004-10-14  Rodney Dawes  <dobey@novell.com>

	* backends/*/Makefile.am: Add -avoid-version to LDFLAGS for all
	of the backends

2004-10-14  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c:
	(get_deltas) : removed stray debug code that should not have
	been there in the first place.

2004-10-12  Harish Krishnaswamy  <kharish@novell.com>
	
	Fixes #64673 and added some performance boosters.
	
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_connection_get_freebusy_info): Resend free/busy requests 
	to server if there are outstanding users whose information is still
	pending from the server. Keep trying for 2 minutes (average time
	for obtaining the f/b information for users outside the POA).
	* backends/groupwise/e-cal-backend-groupwise.c: 
	(populate_cache):  Obtain the calendar items from server Latest First.
	Update evolution as soon as the items are processed, without waiting
	for the entire cache to be populated.
	(get_deltas): remove compiler warning.
	(cache_init): Use a marker to test the status of cache and obtain all
	items only for initial population.  All subsequent sessions would only 
	fetch the deltas from the server since the last cache modification time.
	(connect_to_server): Populating the cache moved to a separate thread
	that does not block the open calls to backend anymore.
	(e_cal_backend_groupwise_create_object): Fixed a leak.
	* libedata-cal/e-cal-backend-cache.[ch]:
	(e_cal_backend_cache_get_keys): Removed unused variable.
	(e_cal_backend_cache_set_marker),
	(e_cal_backend_cache_get_marker): Marker accessors to label the cache as
	populated or not. This helps in determining if all the items are to be 
	loaded from the server or if we should just fetch the deltas. 

2004-10-07  JP Rosevear  <jpr@novell.com>
  
  	* libecal/e-cal.c (e_cal_new_system_tasks): load the correct type
  	of events
	
2004-10-06  JP Rosevear  <jpr@novell.com>
 
 	Fixes #67513
 	
 	* libecal/e-cal.c (cal_objects_sent_cb): deep copy the user list
 	data
	
2004-10-04  Chenthill Palanisamy <pchenthill@novell.com>

	Fixes #66484
	 idl/Evolution-DataServer-Calendar.idl (CallStatus):
	Added an error message "Unknown User".
	* libecal/e-cal-types.h (ECalendarStatus):
	Added a enum variable for the same error message
	* libecal/e-cal-listener.c (convert_status)
	* libecal/e-cal-view-listener.c (convert_status):
	Mapped the new error message.
	* libecal/e-cal.c (e_cal_get_error_message):
	Return the proper string for the new error message.

2004-10-01  Chenthill Palanisamy <pchenthill@novell.com>

	Fixes #62868
	* e-cal-backend-groupwise-utils.c (e_gw_connection_send_appointment):
	Send the Connection Status as Ok even if we get an error message from
	the server for accepting the appointment more than once since it does
	affect the functionality.
	* e-cal-backend-groupwise.c (receive_objects):
	Return the status immediately if the Item has not been modified. Now
	the Permission Denied error message need not be sent.

2004-09-30  Chris Toshok  <toshok@ximian.com>

	* libecal/e-cal.c (get_factories): don't look for factories based
	on the supported_protocol property, since we can't use those
	anymore with dynamically loaded backends.

	* libedata-cal/e-data-cal-factory.c (get_backend_factory): rename
	get_backend_type to this, and return an ECalBackendFactory*
	instead of a GType.
	(impl_CalFactory_getCal): change this code to use
	ECalBackendFactory.
	(e_data_cal_factory_register_backend): rename from
	e_data_cal_factory_register_method and remove all the args, just
	passing an ECalBackendFactory.
	(e_data_cal_factory_register_backends): register all extensions
	that subclass from E_TYPE_CAL_BACKEND_FACTORY.

	* libedata-cal/e-data-cal-factor.h: change prototypes and function
	names.
	
	* libedata-cal/e-data-cal.[ch] (e_data_cal_new): remove the @uri
	arg, as it's unnecessary.

	* libedata-cal/e-cal-backend-factory.[ch]: superclass the backend
	factories must subclass from.

	* libedata-cal/Makefile.am (libedata_cal_la_SOURCES): add
	e-cal-backend-factory.c
	(libedata_calinclude_HEADERS): add e-cal-backend-factory.h

	* backends/contacts/Makefile.am (extension_LTLIBRARIES): change
	from noinst_LTLIBRARIES.
	(libecalbackendcontacts_la_SOURCES): add
	e-cal-backend-contacts-factory.[ch].

	* backends/contacts/e-cal-backend-contacts-factory.[ch]:
	ECalBackendFactory for the contacts backend.

	* backends/file/Makefile.am (extension_LTLIBRARIES): change
	from noinst_LTLIBRARIES.
	(libecalbackendfile_la_SOURCES): add
	e-cal-backend-file-factory.[ch].

	* backends/file/e-cal-backend-file-factory.[ch]:
	ECalBackendFactory for the file backend.

	* backends/groupwise/Makefile.am (extension_LTLIBRARIES): change
	from noinst_LTLIBRARIES.
	(libecalbackendgroupwise_la_SOURCES): add
	e-cal-backend-groupwise-factory.[ch].

	* backends/groupwise/e-cal-backend-groupwise-factory.[ch]:
	ECalBackendFactory for the groupwise backend.

	* backends/http/Makefile.am (extension_LTLIBRARIES): change
	from noinst_LTLIBRARIES.
	(libecalbackendhttp_la_SOURCES): add
	e-cal-backend-http-factory.[ch].

	* backends/http/e-cal-backend-http-factory.[ch]:
	ECalBackendFactory for the http backend.
	
2004-09-28  Rodrigo Moya <rodrigo@novell.com>

	Fixes #66230

	* backends/http/e-cal-backend-http.c (retrieval_done): do a more clever
	update of the cache, so that we correctly notify listeners of updates,
	additions and removals.

2004-09-24  JP Rosevear  <jpr@novell.com>

	Fixes #66383, From David Malcolm <dmalcolm@redhat.com>
	
	* libecal/e-cal.c (e_cal_get_alarms_in_range): return non void
	values

	* libecal/e-cal-component.c: kill warnings about struct
	definitions
	
2004-09-24  JP Rosevear  <jpr@novell.com>
	
	Fixes #64955, Vincent Noel <vnoel@cox.net>
	
	* libecal/e-cal.c (e_cal_get_alarms_in_range): fix c99-ism
	
2004-09-23  Rodrigo Moya <rodrigo@novell.com>

	Fixes #59904

	* libecal/e-cal-component.[ch] (e_cal_component_new_from_string): new
	function to avoid repeating the same code over and over.

	* libedata-cal/e-data-cal-view.c: changed to keep a list of listeners,
	not only one.
	(listener_died_cb): remove the listener from the list of listeners.
	(impl_EDataCalView_start): see if the query has already been started,
	and if so, just notify correctly the listeners we need to notify.
	(e_data_cal_view_init): create hash table for storing the objects we
	have matching the live query.
	(e_data_cal_view_set_property): add correctly the listeners to the list.
	(e_data_cal_view_get_property): return always the first listener.
	(e_data_cal_view_finalize): free all listeners and cached objects.
	(add_object_to_cache, remove_object_from_cache):
	new functions to manage the matched objects cache.
	(e_data_cal_view_notify_objects_added,
	e_data_cal_view_notify_objects_modified): add objects to our private
	cache, and notify all listeners, now that we might have more than one.
	(e_data_cal_view_notify_objects_removed,
	e_data_cal_view_notify_progress, e_data_cal_view_notify_done): notify
	all listeners.
	(e_data_cal_view_add_listener, e_data_cal_view_get_matched_objects,
	e_data_cal_view_is_started, e_data_cal_view_is_done,
	e_data_cal_view_get_done_status): new functions.

	* libedata-cal/e-data-cal.c: keep a cache of all queries.
	(impl_Cal_getQuery): first look in the cache of queries. And when
	creating a new query, add it to the cache.
	(impl_Cal_getObjectList): use the query cache also.
	(e_data_cal_finalize): destroy the live queries hash table.
	(e_data_cal_init): create live queries hash table.

2004-09-23  JP Rosevear  <jpr@novell.com>

	* libecal/Makefile.am: build a versioned lib, don't hard
	code the pkgconfig version

	* libedata-cal/Makefile.am: ditto
	
	* backends/file/Makefile.am: link against the correct library version
	
	* backends/http/Makefile.am: ditto

	* backends/groupwise/Makefile.am: ditto

	* backends/contacts/Makefile.am: ditto

	* tests/ecal/Makefile.am: ditto
	
2004-09-22  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.[ch]:
	(e_gw_connection_send_appointment): Allow callers to get the 
	sent item from the server to ensure the iCalId of the component
	is in sync with the server - even if it had been obtained from
	a different client via itip.
	(e_gw_item_to_cal_component) : additional check to ensure icalid
	is not null in the item, so we would not crash against server instances
	that may not send this properly.

	Fixes #61865	
	* backends/groupwise/e-cal-backend-groupwise.c: 
	(get_deltas) : Replace getDeltasRequest by getQuickMessages calls
	and compute deltas like adds, modify and deletes.
	(connect_to_server): Do not recreate cache everytime and use the 
	getQuickMessages to pull in the changes from server. The existing
	code was a work-around till this fix was in place.

	(e_cal_backend_groupwise_create_object), (receive_object):
	Use the modified  e_gw_connection_send_appointment calls and
	update the cache and cal clients appropriately.

	* libedata-cal/e-cal-backend-cache.[ch]:
	(e_cal_backend_cache_get_keys): Adding a function that allows to 
	retrieve a list of the keys of all components from the cache.
	

2004-09-08  Chenthill Palanisamy <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c
	(set_properties_from_cal_component), (e_gw_item_to_cal_component),
	(e_gw_item_set_changes): Added the support for allday events.

2004-09-08  Chenthill Palanisamy <pchenthill@novell.com>
	
	Fixes #65167
	* backends/groupwise/e-cal-backend-groupwise.c 
	(connect_to_server): Reload the default zone into
	the cache after clearing it.

	* backends/groupwise/e-cal-backend-groupwise-utils.c
	(set_categories_for_gw_item), e_gw_item_to_cal_component),
	(set_properties_from_cal_component): replaced the assert
	statements with If conditions.

2004-09-07  Chenthill Palanisamy <pchenthill@novell.com>

	Fixes #64685
	* backends/groupwise/e-cal-backends-groupwise.c
	(receive_object): Send the error message as 
	Permission Denied when the attendee tries to accept the 
	appointment more than once since we get the error message as
	bad parameter from the server.

2004-09-07  Chenthill Palanisamy <pchenthill@novell.com>

	Fixes 63513
	* backends/groupwise/e-cal-backends-groupwise-utils.c
	(e_gw_connection_send_appointment): Do a case insensitive
	comparison between the email ids. This is a partial fix.

2004-09-07  Chenthill Palanisamy <pchenthill@novell.com>

	Fixes #64398
	* backends/groupwise/e-cal-backend-groupwise.c
	(ECalBackendGroupwisePrivate): added an variable to store 
	the timeout ids.
	(e_cal_backend_groupwise_init): intialize the variable.
	(e_cal_backend_groupwise_finalize): remove the timeout_add
	function so that it will not called when backend dies.
	(get_deltas): It should not crash in any case if handle is
	NULL.

2004-09-05  Chenthill Palanisamy <pchenthill@novell.com>

	Fixes 63513
	* backends/groupwise/e-cal-backends-groupwise-utils.c
	(e_gw_connection_send_appointment): Do a case insensitive
	comparison between the email ids.
	
2004-09-05  Chenthill Palanisamy <pchenthill@novell.com>
	
	* libecal/e-cal-utils.h:
       	defined two macros for the handling the static capabilities for 
	backends which does not support the conversion of a non-recurring
	appointment to a recurrence appointment and conversion of posted
	task to group task.
	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_get_static_capabilities): Added the 
	two macros in this function.

2004-09-05  Chenthill Palanisamy <pchenthill@novell.com>

	Fixes #64688
	* backends/groupwise/e-cal-backend-groupwise.c
	(connect_to_server): store the default zone in
	backend before populating the cache.
	
2004-08-27  Rodrigo Moya <rodrigo@novell.com>

	* libedata-cal/e-cal-backend-sexp.c (func_has_alarms_in_range): new
	function for the regular expression language.
	(e_cal_backend_sexp_new): added new function to the list of symbols.

	* libecal/e-cal.c (e_cal_get_alarms_in_range): use the new
	'has-alarms-in-range' function.

2004-08-27  Chenthill Palanisamy <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c
	(set_properties_from_cal_component): set the acceptLevel
	for the appointment as Free if its not Busy.

2004-08-26  Rodrigo Moya <rodrigo@novell.com>

	* libecal/e-cal-util.c (check_instance): match the prototype expected
	in icalcomponent_foreach_recurrence.
	(e_cal_util_remove_instances): fixed warning.

2004-08-25  Frederic Crozat  <fcrozat@mandrakesoft.com>

	* libecal/e-cal.c: (e_cal_set_default_timezone):
	Need a return value.

2004-08-25  Chenthill Palanisamy <pchenthill@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(populate_cache): Used a static mutex to avoid the 
	the simulataneous calls from calendar and tasks to
	ReadCursorRequest which crashes the server.

2004-08-24  Sivaiah Nallagatla <snallagatla@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c 
	(populate_cache) : use cursor methods to get items in chunks instead of 
	getting all at once

2004-08-24  Chenthill Palanisamy <pchenthill@novell.com>
         
	* backends/groupwise/e-cal-backend-groupwise.c
	(receive_object): update the client view when a meeting
	is accepted or declined.

2004-08-23  Chenthill Palanisamy <pchenthill@novell.com>
	
	Fixes bug #62857
	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_create_object): return	the cal object created
	for the first component and notify the client for the cal objects of other 
	components created in recurrences.

2004-08-17  Rodrigo Moya <rodrigo@novell.com>

	Fixes #61782

	* backends/file/e-cal-backend-file.c (e_cal_backend_file_create_object):
	allow iCalendar objects with no UID.

2004-08-17  JP Rosevear  <jpr@novell.com>

	* libecal/e-cal.c (e_cal_set_default_timezone): don't set the same
	time to the server again, avoids a needless server hit

2004-08-17  Chenthill Palanisamy <pchenthill@novell.com>
	
	* backends/groupwise/e-cal-backend-groupwise.c
	(connect_to_server): Clear the cache before populating 
	it.

2004-08-16  Chenthill Palanisamy <pchenthill@novell.com>
	
	* backends/groupwise/e-cal-backend-groupwise.c
	(connect_to_server): Do not get the items from server every time 
	the calendar is loaded, since the cache is already populated. 

2004-08-13  Hans Petter Jansson  <hpj@ximian.com>

	Fixes bug #62655.

	* backends/contacts/e-cal-backend-contacts.c (source_group_added_cb):
	If source group's URI is NULL, do nothing, i.e. don't crash.

2004-08-13  Chenthill Palanisamy <pchenthill@novell.com>

        * backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_item_to_cal_component): handle the BC recipient type
         with TO and CC.	

2004-08-12  Not Zed  <NotZed@Ximian.com>

	* libecal/e-cal.c (async_auth_func_cb): removed.
	(open_async): dont override the auth callback.  It is now up to
	the caller to ensure they're thread-safe and serialised
	appropriately.

2004-08-12  Rodrigo Moya <rodrigo@novell.com>

	* libecal/e-cal.c (e_cal_remove_object, e_cal_receive_objects):
	added missing gtk-doc comments.

2004-08-09  Jeffrey Stedfast  <fejj@novell.com>

	Fixes bug #58150

	* libecal/e-cal.c (e_cal_activate): init bonobo if it isn't
	already initialised.
	(e_cal_new): Call e_cal_activate().

2004-08-09  Harish Krishnaswamy  <kharish@novell.com>

	Fixes #58643 - the gw backend assembles the xgwrecordid
	to be used for accept/decline requests.

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_connection_send_appointment): use the event and todo type
	markers while assembling the gwrecordid from the itip message.
	set flag 'remove' for decline/retract requests to indicate 
	these should be removed from cache.
	* backends/groupwise/e-cal-backend-groupwise-utils.h:
	Add parameter to e_gw_connection_send_appointment and define macros
	GW_EVENT_TYPE_ID and GW_TODO_TYPE_ID.
	* backends/groupwise/e-cal-backend-groupwise.c: (receive_object):
	update the cache based on the remove flag set by 
	e_gw_connection_send_appointment.

2004-08-04  Chenthill Palanisamy <pchenthill@novell.com>

       Fixes #60265
       * backends/groupwise/e-cal-backend-groupwise.c
       (e_cal_backend_groupwise_open): Whenever open_method is called
       get the data from the server and populate the cache.

2004-08-03  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_connection_send_appointment): Add ':' as a separator
	while appending the container id to the xgwrecordid to
	generate the item_id.

2004-08-02  Not Zed  <NotZed@Ximian.com>

	** See bug #58642.

	* libedata-cal/e-data-cal-factory.c (backend_last_client_gone_cb):
	the table key includes the kidn for some reason.
	(impl_CalFactory_getCal): store the icalkind in the uri, not the
	calobjtype.  Fix a memory leak.

2004-08-02  Chenthill Palanisamy <pchenthill@novell.com>
	
	Fixes #57127
	* backends/groupwise/e-cal-backend-groupwise.c:
	(ECalBackendGroupwisePrivate): Added two hash tables
	for the category ids and names.
	(e_cal_backend_groupwise_get_connection), 
	(e_cal_backend_groupwise_get_default_zone), 
	(e_cal_backend_groupwise_get_categories_by_id),
	(e_cal_backend_groupwise_get_categories_by_name):
	Added to access the ECalBackendGroupwisePrivate structure.
	* backends/groupwise/e-cal-backend-groupwise-utils.c: 
	(e_gw_item_new_from_cal_component), (e_gw_item_to_cal_component),
	(e_gw_connection_create_appointment), (set_properties_from_cal_component):
	Changed the argument from icaltimezone to ECalBackendGroupwise to 
	access ECalBackendGroupwisePrivate structure for storing categories 
	to calendar components.
	(set_categories_for_gw_item): Added to store the categories in GW item.
	(set_categories_changes): Added to update the category changes.

2004-07-30  Harish Krishnaswamy  <kharish@novell.com>
	
	Fixes #59335
	
	* libecal/e-cal.c: (open_calendar): Set the status correctly
	on all exit points from the function.

2004-07-28  Chenthill Palanisamy <pchenthill@novell.com>

	Fixes #60265
	* backends/groupwise/e-cal-backend-groupwise.c
	(connect_to_server), (e_cal_backend_groupwise_open):
	Creates the cache structure after connecting to server and loads 
	the default timezone after populating the cache.

2004-07-26  Harish Krishnaswamy  <kharish@novell.com>

	Fixes #57651, #58637 and #58643
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_connection_send_appointment) : Append the container id to
	the gwrecordid obtained via ITIP to match the representation 
	in the SOAP interface.
	(e_gw_item_set_changes): Updates to 'completed' field in the Task
	is not sticky in the server, when using the modifyRequest. Using a 
	separate completeRequest call to update the same.
	* backends/groupwise/e-cal-backend-groupwise-utils.h: removed the
	unused default_zone parameter from e_gw_connection_send_appointment.
	* backends/groupwise/e-cal-backend-groupwise.c: 
	(get_deltas): return boolean values not the connection status as the 
	caller is not expected to handle it anyway.
	(sanitize_component): renamed set_container_id function, so it
	correctly depicts what it does.
	(e_cal_backend_groupwise_create_object): Make a getItemsRequest to the 
	server to obtain the items while creating recurring events. The original
	call returns only the item ids and the client requires the icalids too
	to keep the cache valid.
	(e_cal_backend_groupwise_modify_object) : Use the completeRequest method
	to update task completion. 
	(receive_object) : The call to e_gw_connection_send_appointment updated
	to reflect the change in its signature. 
	(e_cal_backend_groupwise_receive_objects): set the method on the subcomp
	created before passing it over to receive_object.

2004-07-23  Chenthill Palanisamy <pchenthill@novell.com>
	
	Fixes #60463
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_connection_get_freebusy_info):
	Added a timezone  argument and used it to convert the freebusy 
	times to default timezone. (Have added the patch again since it was inadvertently removed from 
	by some commit)
	
2004-07-15  JP Rosevear  <jpr@novell.com>

	Fixes #58748
	
	* backends/contacts/e-cal-backend-contacts.c (cdate_to_icaltime):
	explicitly set is_utc and set zone to NULL
	(create_component): use NULL instead of 0
	(e_cal_backend_contacts_set_default_timezone): fix logic typo so
	that the default zone is set correctly

2004-07-15  Rodrigo Moya <rodrigo@novell.com>

	Fixes #57142

	* libecal/e-cal-component.c (ensure_alarm_properties_cb): add the
	X-EVOLUTION-NEEDS-DESCRIPTION property to the alarms we create
	with no description, and remove the property from the alarms with
	a description already.

	(e_cal_component_set_summary, set_alarm_description_cb): set the
	description on the alarms when the summary changes and remove the
	above property when we set a valid description.

2004-07-14  Chenthill Palanisamy <pchenthill@novell.com>

       Fixes #60344
       * backends/groupwise/e-cal-backend-groupwise.c:
       (e_cal_backend_groupwise_internal_get_timezone):
       Send the timezone present in tzid instead of sending UTC timezone.

2004-07-12  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_cal_component_get_gw_id): Access method for getting the 
	XGWRECORDID property from the calendar component.
	(set_properties_from_cal_component): Range of priority value
	HIGH extended to include values 1 and 2.
	The X-EVOLUTION-GROUPWISE-ID is now referred as XGWRECORDID
	for consistency with the ITIP messages.
	(e_gw_item_to_cal_component) : Absence of due_date does not 
	invalidate the task component. Fixes #60926.
	(e_gw_connection_send_appointment),(e_gw_connection_create_appointment):
	Implemented.
	(e_gw_connection_get_freebusy_info):
	(e_gw_item_set_changes): Fixed compiler warnings.
	
	* backends/groupwise/e-cal-backend-groupwise-utils.h:
	Declarations for added functions.
	* backends/groupwise/e-cal-backend-groupwise.c: 
	(populate_cache) : Removed unused variables.
	(set_container_id): Extracted a function out of the code as it is
	used twice.
	(e_cal_backend_groupwise_create_object): Handle changes in the SOAP interface.
	The server now returns 	a list of uids. This is to allow creation of recurring 
	calendar events.
	(e_cal_backend_groupwise_modify_object): Fix some leaks.
	(e_cal_backend_groupwise_remove_object), (receive_object),
	(send_object), (e_cal_backend_groupwise_send_objects): Use the newly created
	functions for handling group calendar items.

2004-07-12  Sivaiah Nallagatla   <snallagatla@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(form_uri) : read "use_ssl" property from the ESource
	and form the uri accordingly
	(connect_to_server) : when "use_ssl" is "when-possible"
	try with https first and then with http if that fails

2004-06-28  Chenthill Palanisamy <pchenthill@novell.com>
	
	Fixes #60463
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_connection_get_freebusy_info):
	Added a timezone  argument and used it to convert the freebusy 
	times to default timezone.

2004-06-15  Harish Krishnaswamy  <kharish@novell.com>

	Fixes #59352	
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(set_properties_from_cal_component), (e_gw_item_to_cal_component):
	Handle the organizer property of ecal and allow storing to and 
	from e-gw-item.

2004-06-14  Rodrigo Moya <rodrigo@novell.com>

	Fixes #57088

	* backends/contacts/e-cal-backend-contacts.c (source_group_added_cb):
	only add sources from local addressbook backends.

2004-06-14  Harish Krishnaswamy  <kharish@novell.com>


	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(get_recur_instance), (resolve_tzid_cb) : add support for recurrences 
	in events.
	(set_properties_from_cal_component), (e_gw_item_to_cal_component),
	(e_gw_item_set_changes): Recipient_list handling code is now common to
	both events and todos.
	* backends/groupwise/e-cal-backend-groupwise.c: (populate_cache): Add
	recipientStatus to the view element.
	(receive_object): Send found_comp as argument to modify_object.

2004-06-11  Rodrigo Moya <rodrigo@novell.com>

	* libedata-cal/e-cal-backend-sync.c (_e_cal_backend_remove_object): if
	the deletion is successful, check if the object still exists, in which
	case it means we removed an instance of a recurring event. Fixed
	memory leak also.

	* backends/file/e-cal-backend-file.c (e_cal_backend_file_remove_object):
	return the old_object output argument in all cases.

2004-06-02  Rodrigo Moya <rodrigo@novell.com>

	* libecal/e-cal.c (e_cal_generate_instances,
	e_cal_generate_instances_for_object, e_cal_get_alarms_in_range,
	e_cal_get_alarms_for_object): only allow values from 0 to time_t's
	maximum value.

	* libecal/e-cal.h: added missing prototype.

2004-06-01  Rodrigo Moya <rodrigo@novell.com>

	* libecal/e-cal.c (e_cal_generate_instances): moved all the logic...
	(generate_instances): ...here, so that we can specify a UID to
	generate instances only for that UID.
	(e_cal_generate_instances_for_object): use generate_instances
	function and specify the UID of the object.

	* libedata-cal/e-cal-backend-sexp.c (e_cal_backend_sexp_match_comp):
	added checks for arguments.

2004-06-01  Rodrigo Moya <rodrigo@novell.com>

	* libecal/e-cal.c (e_cal_generate_instances_for_object,
	e_cal_generate_instances): allow -1 for the start and end times.
	(load_static_capabilities, add_instance): fixed warnings.

2004-06-01  JP Rosevear  <jpr@novell.com>

	* libecal/*: revert accidental commit

2004-05-28  JP Rosevear  <jpr@novell.com>

	Fixes #55524
	
	* backends/file/e-cal-backend-file.c
	(e_cal_backend_file_receive_objects): don't sanitize the
	component, we already check for valid timezones and the zones
	aren't merged in yet anyhow

2004-05-28  Rodrigo Moya <rodrigo@novell.com>

	* libedata-cal/e-data-cal-factory.c (backend_last_client_gone_cb):
	disconnect from signals on the removed backend.

2004-05-28  Harish Krishnaswamy  <kharish@novell.com>


	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(e_gw_item_to_cal_component): Throw in null checks on 
	mandatory fields to bypass crashes in e-d-s while the server 
	gets fixed.


2004-05-27  Rodrigo Moya <rodrigo@novell.com>

	* backends/http/e-cal-backend-http.c (retrieval_done): make sure
	we clean up the cache, or old events will always be kept.

2004-05-27  Rodrigo Moya <rodrigo@novell.com>

	Fixes #58197

	* libedata-cal/e-cal-backend.c (e_cal_backend_create_object,
	e_cal_backend_modify_object): removed assertions on method
	implementations, since backends can perfectly have unimplemented
	methods. Instead, notify the error.

2004-05-25  Sivaiah Nallagatla <snallagatla@novell.com>

        * backends/groupwise/e-cal-backends-groupwise.c (form_uri) :
        new function to form the uri required for e_gw_connection
         (connect_to_server) : use form_uri instead of convert_uri

2004-05-25  Harish Krishnaswamy  <kharish@novell.com>

	Fixes GW portion of #57218 and #54280

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(start_freebusy_session): removed FIXME comments (the code had been 
	fixed much earlier).
	(e_gw_item_set_changes):use the SET_DELTA macro to get accept_level 
	changes.
	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_modify_object),
	(e_cal_backend_groupwise_remove_object),
	(e_cal_backend_groupwise_send_objects): set return arguments correctly.
	and removed dead code in remove_object.

2004-05-25  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_modify_object): return ObjectNotFound error
	instead of InvalidObject when the object is not found.

2004-05-22  Rodrigo Moya <rodrigo@ximian.com>

	* backends/file/e-cal-backend-file.c (add_component): make sure we
	process correctly the detached instances.
	(match_object_sexp): deal with hash table entries not containing
	a full_object (ie, detached recurrences).

2004-05-21  JP Rosevear  <jpr@novell.com>

	* backends/file/e-cal-backend-file.c
	(e_cal_backend_file_receive_objects): make sure we only handle the
	type of objects the backend is set up for plus timezones; directly
	add the objects rather than using other functions

2004-05-19  Chris Toshok  <toshok@ximian.com>

	* backends/contacts/e-cal-backend-contacts.c (book_record_new):
	use new e_book_new/e_book_open apis.

2004-05-19  Rodrigo Moya <rodrigo@ximian.com>

	Removes 100s of error dialogs as reported in #54211

	* backends/http/e-cal-backend-http.c: added a flag to know when the
	backend has been opened.
	(reload_cb): set the "opened" flag to TRUE when we reload.
	(retrieval_done): only notify errors when opening the backend, not
	on each reload, or we'll get many error message dialogs when left
	running for a few hours.

2004-05-18  Harish Krishnaswamy  <kharish@novell.com>

	Fixes #56320 and related timezone issues.
	Convert datetime from the Groupwise string format between icaltime
	directly w/o using time_t structures.
	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(set_properties_from_cal_component),
	(e_gw_item_new_from_cal_component), (e_gw_item_to_cal_component),
	(e_gw_connection_send_appointment), (e_gw_item_set_changes):
	use the default_timezone info while performing the conversions.
	* backends/groupwise/e-cal-backend-groupwise-utils.h:
	* backends/groupwise/e-cal-backend-groupwise.c: (populate_cache),
	(get_deltas), (connect_to_server),
	(e_cal_backend_groupwise_finalize), (e_cal_backend_groupwise_open),
	(e_cal_backend_groupwise_add_timezone):
	Add timezone to the cache and allow evolution to set the default timezone.
	(e_cal_backend_groupwise_set_default_timezone),
	(e_cal_backend_groupwise_create_object),
	(e_cal_backend_groupwise_modify_object), (receive_object),
	(send_object), (e_cal_backend_groupwise_init):
	* libedata-cal/e-cal-backend-cache.c:
	(e_cal_backend_cache_put_default_timezone),
	(e_cal_backend_cache_get_default_timezone):
	Store default timezone information in the cache so that eds remembers the
	client timezone information while populating the cache in the next session.
	Since the cache population happens while the calendar is still loading, evolution
	would not have had a chance to set the timezone yet.
	
	* libedata-cal/e-cal-backend-cache.h: Added get/put functions for
	default timezone.

2004-05-18  Rodrigo Moya <rodrigo@ximian.com>

	* libedata-cal/e-cal-backend-sexp.c (func_occur_in_time_range): always
	use a valid timezone.

	* libecal/e-cal-recur.c (cal_object_time_from_time): don't use invalid
	timezones.

	* libecal/e-cal.c (e_cal_generate_instances): make sure we always have
	a default timezone.

2004-05-17  Rodney Dawes  <dobey@ximian.com>

	* libecal/Makefile.am (libecal_la_LIBADD):
	* libedata-cal/Makefile.am (libedata_cal_la_LIBADD):
	Add $(EVOLUTION_CALENDAR_LIBS) to link to all the right dependencies
	so that the mono bindings will work correctly

	Fixes #58615

2004-05-17  Rodrigo Moya <rodrigo@ximian.com>

	Fixes #51412

	* backends/file/e-cal-backend-file.c (remove_instance): re-add the
	modified objects to the top-level icalcomponent after removing
	instances.
	(e_cal_backend_file_remove_object): manage the CALOBJ_MOD_THIS case
	for an event with no RECURRENCE-ID.

2004-05-14  Rodrigo Moya <rodrigo@ximian.com>

	Fixes #56870

	* libedata-cal/e-cal-backend-sync.c (e_cal_backend_sync_create_object,
	e_cal_backend_sync_modify_object, e_cal_backend_sync_remove_object,
	e_cal_backend_sync_discard_alarm, e_cal_backend_sync_receive_objects,
	e_cal_backend_sync_send_objects): don't g_assert if the method is not
	implemented on the underlying backend, just return an UnsupportedMethod
	error.

2004-05-14  Rodrigo Moya <rodrigo@ximian.com>
	
	* libedata-cal/e-cal-backend-sexp.c (e_cal_backend_sexp_func_make_time):
	added extra check for function arguments.

	* libedata-cal/e-cal-backend-cache.c (e_cal_backend_cache_put_timezone):
	added missing implementation from recurreces-work-branch.

	* libecal/e-cal-recur.c (e_cal_recur_generate_instances_of_rule):
	use the default timezone if we can't get timezones for the start
	and end dates.

2004-05-13  Rodrigo Moya <rodrigo@ximian.com>

	Fixes #54094

	* backends/file/e-cal-backend-file.c (e_cal_backend_file_modify_object):
	deal correctly with CALOBJ_MOD_THIS for master objects.

2004-05-12  Rodrigo Moya <rodrigo@ximian.com>

	* libecal/e-cal.c (e_cal_generate_instances): fixed gtk-doc comments,
	and process correctly detached instances.
	(e_cal_generate_instances_for_object): new function.
	(e_cal_set_default_timezone): set the internal default timezone when
	the call to the backend is successful.
	(process_detached_instances): process correctly the detached instances.

2004-05-12  Harish Krishnaswamy  <kharish@novell.com>


	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(set_properties_from_cal_component), (e_gw_item_to_cal_component),
	(e_gw_connection_get_freebusy_info), (e_gw_item_set_changes):
	Add implementation for modification of objects.
	* backends/groupwise/e-cal-backend-groupwise-utils.h:
	Add declaration for e_gw_item_set_changes.	
	* backends/groupwise/e-cal-backend-groupwise.c:
	(e_cal_backend_groupwise_set_default_timezone):
	Allow evo to set the timezone in the groupwise backend.
	(e_cal_backend_groupwise_modify_object):
	Modify implementation to use modifyItemRequest rather than
	a sendItem.

2004-05-07  JP Rosevear  <jpr@ximian.com>

	Fixes #57908
	
	* libecal/e-cal-component.c (e_cal_component_set_organizer):
	prevent double frees
	(e_cal_component_set_organizer): ditto
	(e_cal_component_set_summary): ditto

2004-05-06  Harish Krishnaswamy  <kharish@novell.com>

	* libecal/e-cal.c: (load_static_capabilities): assign capabilities
	to ecal->capabilities so that it need not be computed repeatedly.
	* backends/groupwise/e-cal-backend-groupwise.c: 
	(populate_cache) : added message to view element to recieve 
	message bodies as plain text (default).
	(connect_to_server) : the Tasks folder is also Calendar and 
	not Checklist in GW server.
	(e_cal_backend_groupwise_get_static_capabilities) :
	Added CAL_STATIC_CAPABILITY_SAVE_SCHEDULES.

2004-05-04  Harish Krishnaswamy  <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(set_properties_from_cal_component),
	(e_gw_item_new_from_cal_component), (e_gw_item_to_cal_component):
	Patch the FIXMEs in the code handling recipient_list and message bodies
	in events. This also resolves #57204 and 57883.
	
	
2004-05-03  William Jon McCann  <mccann@jhu.edu>

	* libecal/e-cal-time-util.h: Add missing G_BEGIN_DECLS and G_END_DECLS

2004-05-04  Harish Krishnaswamy  <kharish@novell.com>

	Fixes #55922
	
	* libedata-cal/e-data-cal-factory.c: (impl_CalFactory_getCal):
	Hash the backends based on the uri 'and' the type (Both calendar
	and tasks for GW share the same uri but need different e-data-cal
	instances.

2004-05-03  JP Rosevear  <jpr@ximian.com>

	Partial fix for #57218
	
	* libecal/e-cal.c (cal_objects_sent_cb): copy the object string
	(e_cal_get_default_object): check the status explicitly
	(e_cal_get_object): ditto
	(e_cal_get_timezone): ditto
	(e_cal_send_objects): parse the string here so we can handle bad
	parsing properly

	* libecal/e-cal-marshal.list: replace marshaller signature

	* libecal/e-cal-listener.h: update signal proto

	* libecal/e-cal-listener.c (impl_notifyObjectsSent): send back
	just the text like other similar routines
	(e_cal_listener_class_init): send back a string as the third arg
	in the send_objects signal

2004-04-30  Dan Winship  <danw@ximian.com>

	* libecal/e-cal-component.c (get_attendee_list): Fill in some
	default values to avoid libical assertions later. Also, fix some
	really awful cut+pastos

2004-04-28  JP Rosevear  <jpr@ximian.com>

	* tests/ecal/test-search.c: something to run searches with for
	test purposes

	* tests/ecal/Makefile.am: build test search 

2004-04-28  JP Rosevear  <jpr@ximian.com>

	Fixes #57080
	
	* libedata-cal/e-cal-backend.c
	(e_cal_backend_notify_object_modified): make sure the item was
	actually in the query before so we don't send bogus removes

2004-04-27  Harish Krishnaswamy  <kharish@novell.com>

	Fixes #56535

	* backends/groupwise/e-cal-backend-groupwise-utils.c:
	(set_properties_from_cal_component), (e_gw_item_to_cal_component):
	Added support for saving Alarms in the GW server as well as 
	read the alarm information during retrieval.


2004-04-23  Jeffrey Stedfast  <fejj@ximian.com>

	* libedata-cal/e-data-cal.c (e_data_cal_notify_changes): Fixed a
	c/p bug. Don't call notifyDefaultTimezoneSet, we want to
	notifyChanges! Took me long enough to track this little bugger
	down.

2004-04-21  Jeffrey Stedfast  <fejj@ximian.com>

	* backends/file/e-cal-backend-file.c
	(e_cal_backend_file_receive_objects): Pass the address of calobj
	to file_create_object().
	(e_cal_backend_file_compute_changes): "Gracefully" handle a NULL
	return from e_xmlhash_new().

2004-04-20  JP Rosevear  <jpr@ximian.com>

	* libecal/e-cal.c (open_async): emit the open signal in an idle
	loop
	(async_signal_idle_cb): emit the signal and free the data

2004-04-16  Harish Krishnaswamy  <kharish@novell.com>
	
	Fixes #55802
	
	* libecal/e-cal.c: (open_calendar): Create and lock
	op mutex and unlock ecal before attempting to authenticate.
	(open_async, async_auth_idle_cb,async_auth_func_cb): implement 
	async authentication to calendar.
	

2004-04-15  JP Rosevear  <jpr@ximian.com>

	* libecal/e-cal.c (e_cal_add_timezone): do a little more sanity
	checking on what we send

2004-04-12  Sarfraaz Ahmed <asarfraaz@novell.com>

	Fixes #56517
                                                                                
        * libecal/e-cal.c (e_cal_add_timezone): Added a check for icalcomponent
        structure. Return FALSE if icalcomponent is NULL.

2004-04-12  Harish K <kharish@novell.com>

	Fixes #53926
	
	* backends/groupwise/e-cal-backend-groupwise-utils.c
	(e_gw_item_to_cal_component) : set the tzid to "UTC"
	while setting the dueDate.
		
	
2004-04-08  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_get_static_capabilities): add the 
	ONE_ALARM_ONLY static capability.

2004-04-06  Harish K <kharish@novell.com>
	
	Fixes #55169

	* backends/groupwise/e-cal-backend-groupwise-utils.c
	(e_gw_connection_get_freebusy_info) : Use icalproperty
	to add free/busy data to ECalComponent.
	
2004-04-05  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_remove_object): Use correct types for
	e_cal_backend_groupwise_get_object's return value.

2004-04-03  JP Rosevear  <jpr@ximian.com>

	Fixes #56416
	
	* backends/contacts/e-cal-backend-contacts.c
	(e_cal_backend_contacts_get_timezone): implement
	(e_cal_backend_contacts_add_timezone): ditto
	(e_cal_backend_contacts_set_default_timezone): ditto
	(free_zone): free a timezone
	(e_cal_backend_contacts_finalize): destroy the zones hash table
	(e_cal_backend_contacts_class_init): add new method
	implementations
	(e_cal_backend_contacts_init): set up zones hash table

2004-04-02  Rodrigo Moya <rodrigo@ximian.com>

	Fixes #51412

	* backends/file/e-cal-backend-file.c (e_cal_backend_file_remove_object):
	support being called with CALOBJ_MOD_THIS on the top level component.

2004-04-02  Rodrigo Moya <rodrigo@ximian.com>

	Fixes #55719

	* backends/groupwise/e-cal-backend-groupwise.c (connect_to_server):
	use correct type for populate_cache's return value.
	(e_cal_backend_groupwise_set_mode): use correct type for
	connect_to_server's return value.

2004-03-30  JP Rosevear <jpr@ximian.com>

	* backends/file/e-cal-backend-file.c: allow debugging code to be
	turned on and off easily

	* backends/http/e-cal-backend-http.c: ditto
	
2004-03-31  JP Rosevear <jpr@ximian.com>

	Fixes #56111
	
	* backends/contacts/e-cal-backend-contacts.c (create_component):
	take a uid for the icalcomp
	(create_birthday): create a uid from the contact uid and a
	birthday designator
	(create_anniversary): ditto for anniversary
	(e_cal_backend_contacts_get_cal_address): set the address to NULL
	when returning success
	(e_cal_backend_contacts_get_ldap_attribute): ditto for the
	attribute
	(e_cal_backend_contacts_remove): can't remove a read only calendar
	(e_cal_backend_contacts_get_object): implement
	
2004-03-31  JP Rosevear <jpr@ximian.com>

	Fixes #54713
	
	* libecal/e-cal.c (e_cal_get_object): only try to parse the string
	if the status is good
	(e_cal_get_timezone): ditto
	(e_cal_get_default_object): ditto
	
2004-03-29  Rodrigo Moya <rodrigo@ximian.com>

	* libecal/e-cal.c (e_cal_generate_instances): added support for dealing
	with detached instances.
	(process_detached_instances): replace all generated instances with the
	detached ones.

2004-03-29 Harish K <kharish@novell.com>

	* backends/groupwise/e-cal-backend-utils.c 
	(start_freebusy_session) : send UTC time to server instead of
	floating time. remove namespaces to elements in request messages.
	(e_gw_connection_get_freebusy_info) :send f/b information thro'
	ECalComponentAttendee structure -not ECalComponentOrganizer.
	
2004-03-26  JP Rosevear <jpr@ximian.com>

	* libecal/e-cal.h: add proto
	
	* libecal/e-cal.c (e_cal_get_source_type): accessor

2004-03-26  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_create_object): replace the inbox container ID
	in the ID returned by sendItemResponse with our container ID.
	(e_cal_backend_groupwise_remove_object): if the object does not have the
	GW server ID, use the iCalID property to remove it.

2004-03-26  Rodrigo Moya <rodrigo@ximian.com>
	
	* backends/groupwise/e-cal-backend-groupwise-utils.c
	(e_gw_connection_send_appointment): set the container ID on the
	EGwItem returned by e_gw_item_new_from_cal_component.

2004-03-25  William Jon McCann  <mccann@jhu.edu>

	* backends/http/e-cal-backend-http.c (retrieval_done):
	(e_cal_backend_http_get_default_object): use the same component
	kind as the backend.

2004-03-25  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_create_object): add the X-EVOLUTION-GROUPWISE-ID
	property to the newly-created component.

2004-03-25  Rodrigo Moya <rodrigo@ximian.com>

	* libedata-cal/e-cal-backend-sync.[ch]
	(e_cal_backend_sync_create_object): made the 'calobj' argument to
	be inout, so that the caller gets the modified component, not the
	original one sent to the backend.
	(_e_cal_backend_sync_create_object): ditto, and notify listeners with
	the modified calobj.

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_create_object):
	* backends/file/e-cal-backend-file.c (e_cal_backend_file_create_object):
	adapted to changes in ECalBackendSync, and return the modified object
	to the caller.

2004-03-22  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.[ch]
	(e_gw_connection_send_appointment): added a 'id' argument, to be
	passed to e_gw_connection_send_item.

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_create_object,
	e_cal_backend_groupwise_modify_object, send_object): added extra
	argument to e_gw_connection_send_appointment.

2004-03-19  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.[ch]
	(e_cal_backend_groupwise_notify_error_code): new function.
	(populate_cache, get_deltas, connect_to_server,
	e_cal_backend_groupwise_open): notify clients of any error.

2004-03-19  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c
	(start_freebusy_session): don't use the "types:" prefix for the
	<user> SOAP element.

2004-03-19  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_remove_object): remove the object from the
	cache in the remote case also.

2004-03-19  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_remove_object): if we don't find the
	X-EVOLUTION-GROUPWISE-ID property, the object didn't come from
	the server, so don't try to remove it.

2004-03-19  Rodrigo Moya <rodrigo@ximian.com>

	* libedata-cal/e-cal-backend-cache.[ch]
	(e_cal_backend_cache_get_timezone, e_cal_backend_cache_put_timezone,
	e_cal_backend_cache_remove_timezone): new functions to support
	timezones in the cache.
	(e_cal_backend_cache_get_components): only append to the returned
	list the VEVENT's and VTODO's components.
	(e_cal_backend_cache_init): create a hash table to store all the
	icaltimezone objects we create in e_cal_backend_cache_get_timezone.
	(e_cal_backend_cache_finalize): free the timezones hash table.

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_remove_object): remove object based on the
	Groupwise item ID, not the iCalendar ID.

2004-03-18  JP Rosevear <jpr@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c
	(e_gw_connection_get_freebusy_info): send back "freeBusySessionId"
	rather than "session"

2004-03-18  JP Rosevear <jpr@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c
	(start_freebusy_session): put the xml prefixes back in, they
	weren't the issue

2004-03-18  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c
	(set_properties_from_cal_component): set the GW item ID based on the
	X-EVOLUTION-GROUPWISE-ID property.
	(e_gw_item_to_cal_component): add the above property to the created
	ECalComponent, and use our iCalendar ID to set the "iCalId" property.

2004-03-18  JP Rosevear <jpr@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c
	(start_freebusy_session): remove xml prefixes

2004-03-18  JP Rosevear <jpr@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c
	(start_freebusy_session): list the the addresses in the <email>
	attribute

2004-03-18  JP Rosevear <jpr@ximian.com>

	* libecal/e-cal.c: add e_return_error macro to fail more
	gracefully as per ebook

2004-03-18  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_create_object,
	e_cal_backend_groupwise_modify_object): don't update the cache when we
	get an error from the server.

2004-03-17  Rodrigo Moya <rodrigo@ximian.com>

	Fixes #55719

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_get_cal_address): deal with online/offline
	modes.
	(e_cal_backend_groupwise_finalize): free new private field.

2004-03-16 Harish K <kharish@novell.com>

	* libecal/e-cal.c : Move open_calendar call into async_idle_cb
	and rearrange mutex lock/unlock sequences. This fixes the calendar 
	authentication problems observed while using the Password Dialog.

2004-03-15  Rodrigo Moya <rodrigo@ximian.com>

	* libedata-cal/e-cal-backend-sexp.c (func_occur_in_time_range): expand
	recurrences for the given time range to be sure that we return the
	correct events.
	(check_instance_time_range_cb): callback to check the expanded recurrences.

2004-03-15  Rodney Dawes  <dobey@ximian.com>

	* libecal/libecal-1.0.pc.in:
	* libedata-cal/libedata-cal-1.0.pc.in: Add @LIBBONOBO_REQUIRED@ for
	the libbonobo dependency

2004-03-14  Harish K <kharish@novell.com>

	* calendar/backends/groupwise/e-cal-backend-groupwise.c :
	Update calls to e_gw_connection_get_items with the new prototype.

2004-03-11  Rodrigo Moya <rodrigo@ximian.com>

	* libedata-cal/e-data-cal.c (e_data_cal_notify_objects_sent): guard
	against sending NULL strings to CORBA.

	* backends/contacts/e-cal-backend-contacts.c
	(e_cal_backend_contacts_receive_objects,
	e_cal_backend_contacts_send_objects): return PermissionDenied error.

2004-03-09  JP Rosevear <jpr@ximian.com>

	Fixes #55389
	
	* backends/file/e-cal-backend-file.c
	(e_cal_backend_file_send_objects): return the calendar object
	properly

2004-03-09  Rodrigo Moya <rodrigo@ximian.com>

	* libecal/e-cal.c (e_cal_resolve_tzid): don't default to UTC timezone,
	the default timezone is used by the timezone look up code.

2004-03-09  Thomas Mirlacher <dent@cosy.sbg.ac.at>

	Fixes #53885

	* backends/contacts/e-cal-backend-contacts.c:
	intermediate fix for recurring entries starting before 1970
	set the dtend for making valid whole-day entries

2004-03-05  Rodrigo Moya <rodrigo@ximian.com>

	Fixes #54280

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_send_objects): added missing implementation.

2004-03-05 Harish K <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c :
	timezone values in ECalDateComponent structures should be
	set to "UTC" for GW items.
	
2004-03-01  Rodrigo Moya <rodrigo@ximian.com>

	Fixes #33243

	* libedata-cal/e-cal-backend-sexp.c (matches_location): new function
	to check if a component's location matches a string.
	(matches_any): call matches_location also.
	(func_contains): added support for searching the location also.

2004-03-01  Rodrigo Moya <rodrigo@ximian.com>

	* idl/Evolution-DataServer-Calendar.idl: added new arguments to the
	notifyObjectsSent method for backends to return the list of users and
	events for which it operated.

	* libedata-cal/e-data-cal.[ch] (e_data_cal_notify_objects_sent): added
	new argument and call the listener's notifyObjectsSent method with
	a GNOME_Evolution_Calendar_UserList.

	* libedata-cal/e-cal-backend-sync.[ch] (e_cal_backend_sync_send_objects,
	_e_cal_backend_send_objects): added new arguments.

	* backends/file/e-cal-backend-file.c (e_cal_backend_file_send_objects):
	* backends/http/e-cal-backend-http.c (e_cal_backend_http_send_objects):
	* backends/contacts/e-cal-backend-contacts.c
	(e_cal_backend_contacts_send_objects):
	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_send_objects): adapted to changes in
	ECalBackend/ECalBackendSync API.

	* backends/file/e-cal-backend-file.c (e_cal_backend_file_receive_objects,
	e_cal_backend_file_send_objects): removed wrong return statement.

	* libecal/e-cal-marshal.list: added new marshaller.

	* libecal/e-cal.[ch] (e_cal_send_objects): get the user list from the
	operation's result.
	(cal_objects_sent_cb): added the new arguments and copy them to the
	operation's result.

	* libecal/e-cal-listener.[ch]: added new arguments to "send_objects"
	signal.
	(impl_notifyObjectsSent): added UserList argument to CORBA method, and
	convert the CORBA user list to a GList to be passed to the signal
	handlers.
	(e_cal_listener_class_init): added new arguments to "send_objects"
	signal.

2004-02-26  JP Rosevear <jpr@ximian.com>

	* tests/ecal/test-ecal.c: make EXPECTED a macro so it compiles

2004-02-26 Harish K <kharish@novell.com>

	* tests/ecal/test-ecal.c : Added implementation of 
	test cases.
	* (tests/ecal/test-runner.sh, tests/ecal/cleanup.sh
	   tests/ecal/testdata.ics) : Added test scripts and test data.
	* tests/ecal/Makefile.am : Add scripts to EXTRA_DIST.

2004-02-23  JP Rosevear <jpr@ximian.com>

	* backends/groupwise/Makefile.am: Add includes for srcdir !=
	builddir

	* backends/file/Makefile.am: ditto

	* backends/contacts/Makefile.am: ditto

	* libedata-cal/Makefile.am: ditto

	* libecal/Makefile.am: ditto

	* tests/ecal/Makefile.am: ditto

2004-02-17 Harish K <kharish@novell.com>
	* libecal/e-cal.c : 
	(e_cal_new_system_calendar, e_cal_new_system_tasks) : arguments
	to g_build_filename should be NULL terminated.

2004-02-12  Chris Toshok  <toshok@ximian.com>

	* backends/contacts/e-cal-backend-contacts.c (book_record_new):
	quiet the compiler, and free the list of requested fields after
	the e_book_get_book_view call.
	(e_cal_backend_contacts_init): use e_book_get_addressbooks instead
	of using gconf and hardcoding the sourcelist xml key.

2004-02-10  Rodrigo Moya <rodrigo@ximian.com>

	* backends/file/e-cal-backend-file.c (e_cal_backend_file_receive_objects):
	switch wrongly-placed creation/modification of objects.

2004-02-06  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.c
	(set_properties_from_cal_component, e_gw_item_to_cal_component):
	adapted to changes in EGwItem.

	* libecal/e-cal.c (e_cal_open_async): no need to make the thread joinable.

2004-02-06  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise-utils.[ch]: new files
	to contain all calendar-specific code from libegroupwise.
	(e_gw_item_new_from_cal_component, e_gw_item_to_cal_component,
	e_gw_connection_send_appointment): new functions.

	* backends/groupwise/e-cal-backend-groupwise.c: include new header
	file.

2004-02-06  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/create-account.c:
	* backends/groupwise/soap-test.c:
	* backends/groupwise/e-gw-*: moved to $top_srcdir/servers/groupwise.

	* backends/groupwise/Makefile.am: removed files and don't build test
	programs.

2004-02-06  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.c (parse_response_status):
	"Status" is now "status".

2004-02-04  JP Rosevear <jpr@ximian.com>

	* libecal/e-cal.h: update proto

	* libecal/e-cal.c (async_idle_cb): return FALSE to remove the idle
	handler
	(get_default): take an auth func and use it 
	(e_cal_open_default): ditto

2004-02-04  JP Rosevear <jpr@ximian.com>

	* libecal/e-cal.h: redo protos

	* libecal/e-cal.c (e_cal_open_default): open the default ecal
	based on type
	(e_cal_set_default): set the default based on type
	(e_cal_set_default_source): ditto
	(e_cal_get_sources): get the source list based on type

2004-02-04  Rodrigo Moya <rodrigo@ximian.com>

	* libecal/e-cal.c (open_calendar): new function created from
	e_cal_open, without signal emissions.
	(e_cal_open): call open_calendar() and emit signals.
	(e_cal_open_async): changed to use a thread instead
	of an idle callback.
	(open_async): converted to a GThreadFunc, call open_calendar and
	setup idle callback to emit the "cal_opened" signal.
	(async_idle_cb): idle callback, notify listeners with the
	"cal_opened" signal and free ECalAsyncData.

	* backends/file/e-cal-backend-file.c: store an ordered list of all
	detached recurrences, as well as the hash table, for each object.
	(free_object): free the recurrences list, and the object's data.
	(add_component, remove_instance): add the recurrences to the
	recurrences list also.
	(e_cal_backend_file_modify_object): remove the recurrence from the
	list also, and it to the list when adding it to the hash table.
	(remove_object_instance_cb): remove the recurrences from the list
	also.
	(e_cal_backend_file_receive_objects): remove cancelled meetings from the
	received toplevel component before merging it. Add/Update received
	objects approppriately for PUBLISH/REQUEST/REPLY.

2004-02-04  Rodrigo Moya <rodrigo@ximian.com>

	* libecal/e-cal.c (open_async): g_object_unref the ECal, not the
	ECalAsyncData structure.

2004-02-03  Rodney Dawes  <dobey@ximian.com>

	* backends/http/e-cal-backend-http.c: Don't keep a global SoupMessage
	(e_cal_backend_http_fianlize): Abort the session, as we may have
	multiple messages running
	(webcal_to_http_method): Return a copy if we aren't parsing a webcal:,
	as there is no need to return NULL, since we just check and copy the
	original anyway
	(retrieval_done): Handle redirection, and don't rely on a global
	SoupMessage for things, and don't try to set the SoupMessage to NULL
	(begin_retrieval_cb): Allow multiple messages, and disable automatic
	redirect handling, as we need to handle it ourselves
	(maybe_start_reload_timeout): We want minutes, not seconds, so we need
	to multiply the refresh value by 60000 instead of 1000

2004-02-03  Dan Winship  <danw@ximian.com>

	* backends/http/e-cal-backend-http.c (e_cal_backend_http_finalize,
	retrieval_done): Don't unref the soup message; that happens
	automatically after the callback runs. #53645

2004-02-03  Harish K <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c : 
	added get_deltas function as the callback to update cache.
	* backends/groupwise/e-gw-connection.[ch] (parse_response_status):
	Removed UpdateCacheHandle structure as
	the callback is now local to e-cal-backend-groupwise.c
	(e_gw_connection_get_deltas) : modified  the function to return 
	list of EGwItems.
	(set_attendee_list_from_soap_parameter) : moved to EGwItem.
	* backends/groupwise/e-gw-item.c : Added attendee_list to priv
	structure and updated e_gw_item_dispose to free it.
	(e_gw_item_new_from_soap_parameter) : added code to parse 'changes'
	element in item.
	
2004-02-03  Chris Toshok  <toshok@ximian.com>

	* backends/groupwise/e-gw-connection.c (parse_response_status):
	E_GW_CONNECTION_BAD_PARAMETER ->
	E_GW_CONNECTION_STATUS_BAD_PARAMETER.

2004-02-02  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.[ch] (parse_response_status):
	added new error code.

2004-02-02  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c (populate_cache):
	add all retrieved items to the cache, since calendar and tasks
	both use the same cache file.
	(e_cal_backend_groupwise_get_object,
	e_cal_backend_groupwise_get_object_list): only return items of the
	same kind as the backend.
	(e_cal_backend_groupwise_create_object): only allow storing of
	items of the same kind as the backend.

2004-02-02  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-item.c (e_gw_item_append_to_soap_message):
	fixed argument ordering in call to e_gw_message_write_string_parameter.

2004-02-02  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c (populate_cache):
	changed to have an ECalBackendGroupwise as argument, and only add
	to the cache objects of the same kind as the backend.
	(connect_to_server): pass the ECalBackendGroupwise to populate_cache.

	* backends/groupwise/e-gw-item.c (e_gw_item_to_calcomponent):
	set altrep to NULL on ECalComponentText's.

2004-02-02  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-item.c (e_gw_item_to_calcomponent): moved
	calls to e_cal_component_set_new_vtype up, so that the internal
	icalcomponent gets created. Added missing 'break' statement.

2004-02-02  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.c
	(e_gw_connection_get_freebusy_info): fixed warning.

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_remove_object): pass the container_id to
	e_gw_connection_remove_item.

2004-02-02  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c (connect_to_server):
	set the ESource's name to the name of the folder.

2004-02-01  JP Rosevear <jpr@ximian.com>

	* libecal/e-cal.h: order the signals more sensibly

	* libecal/e-cal.c (destroy_factories): use G_STRLOC
	(categories_changed_cb): set the size of the array so the length
	is set
	(e_cal_init): remove extra listener args, listen for new signals

	* libecal/e-cal-marshal.list: add signal marshaller

	* libecal/e-cal-listener.h: add new signals, remove function
	callback protos, update protos

	* libecal/e-cal-listener.c (impl_notifyErrorOccurred): emit error
	signal
	(impl_notifyCategoriesChanged): emit categories changed signal
	(e_cal_listener_init): remove dead initializations
	(e_cal_listener_finalize): remove dead finalizations
	(e_cal_listener_class_init): add category and error signals
	(e_cal_listener_construct): remove error and category function
	params
	(e_cal_listener_new): ditto

2004-01-31  JP Rosevear  <jpr@ximian.com>

	* libecal/e-cal.c (e_cal_is_read_only): return a proper GError and
	boolean

	* backends/contacts/e-cal-backend-contacts.c
	(e_cal_backend_contacts_get_type): remove debug statements
	
2004-01-30  Radek Doulik  <rodo@ximian.com>

	* backends/contacts/e-cal-backend-contacts.c (contact_record_new):
	make sure anniversary/birthday components were created before
	using them
	(contact_record_free): ditto
	(contact_record_cb): ditto

2004-01-30  Rodrigo Moya <rodrigo@ximian.com>

	* backends/http/Makefile.am: LOG_DOMAIN is ...http, not ...file.

	* backends/http/e-cal-backend-http.c (reaload_cb): don't start a new
	updload if we're already uploading.

2004-01-29  Hans Petter Jansson  <hpj@ximian.com>

	* backends/http/e-cal-backend-http.c (retrieval_done): Clear the
	is_loading flag.
	(begin_retrieval_cb): Set the is_loading flag, maybe start the reload
	timeout.
	(reload_cb): Implement.
	(maybe_start_reload_timeout): Implement.
	(e_cal_backend_http_open): Init reload timeout ID.

2004-01-29  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-item.c (e_gw_item_append_to_soap_message):
	write all properties to the message.

2004-01-29  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-item.[ch] (e_gw_item_new_from_soap_parameter,
	e_gw_item_to_cal_component, e_gw_item_get_id, e_gw_item_set_id,
	e_gw_item_get_creation_date, e_gw_item_set_creation_date,
	e_gw_item_get_start_date, e_gw_item_set_start_date,
	e_gw_item_get_classification, e_gw_item_set_classification,
	e_gw_item_get_accept_level, e_gw_item_set_accept_level,
	e_gw_item_get_subject, e_gw_item_set_subject,
	e_gw_item_get_priority, e_gw_item_set_priority,
	e_gw_item_get_message, e_gw_item_set_message,
	e_gw_item_get_completed, e_gw_item_set_completed,
	e_gw_item_get_due_date, e_gw_item_set_due_date,
	e_gw_item_get_end_date, e_gw_item_set_end_date,
	e_gw_item_get_place, e_gw_item_set_place): new functions.
	(e_gw_item_new_from_cal_component): renamed. Don't keep the
	ECalComponent, there's no need for it.
	(append_appointment_properties): don't use the private ECalComponent,
	it's not stored anymore.
	(e_gw_item_dispose): free all properties.
	(e_gw_item_append_to_soap_message): added support for tasks.

	* backends/groupwise/e-gw-connection.c (e_gw_connection_get_items):
	(e_gw_connection_send_appointment): use
	e_gw_item_new_from_cal_component.
	(get_e_cal_component_from_soap_parameter, get_evo_date_from_string):
	removed.
	(e_gw_item_get_deltas, update_cache_item): disabled until migrated to
	use EGwItem's.
	(e_gw_connection_get_date_from_string): new function.

	* backends/groupwise/e-gw-container.c (e_gw_container_finalize): fixed
	warnings.

2004-01-28  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-item.c: added missing header.

2004-01-28  Rodrigo Moya <rodrigo@ximian.com>

	Fixes #53465

	* libecal/e-cal.c (e_cal_get_error_message): fixed typo.

2004-01-28  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-item.[ch]
	(e_gw_item_append_to_soap_message): new function.

	* backends/groupwise/e-gw-connection.c (e_gw_connection_send_item):
	finished implementation.

2004-01-28 Harish K <kharish@novell.com>

	* calendar/backends/groupwise/e-cal-backend-groupwise.c :
	Pass the correct arguments to the callback function 
	* calendar/backends/groupwise/e-gw-connection.c :
	(e_gw_connection_get_container_id) : Initialize container_list.
	(e-gw-connection_get_deltas) : fixed the prototype to match
	the callback prototype
	(set_attendee_list_from_soap_param): modified 
	get_attendee_list_from_soap_param to update calendar component
	within the same function.
	(e-gw-connection_get_items) : check item types before creating
	e-cal-components.
	* calendar/backends/groupwise/e-gw-connection.h : added 
	CacheUpdateHandle structure. 

2004-01-28  JP Rosevear <jpr@ximian.com>

	* libecal/e-cal.h: add protos

	* libecal/e-cal.c (e_cal_new_system_calendar): return a pointer to
	the system calendar
	(e_cal_new_system_tasks): ditto for tasks
	(get_default): gets the default calendar/tasks
	(e_cal_get_default_calendar): gets the default calendar
	(e_cal_get_default_tasks): ditto for tasks
	(e_cal_set_default_calendar): sets the default calendar
	(e_cal_set_default_tasks): ditto for tasks
	(set_default_source): set the default calendar/tasks source
	(e_cal_set_default_calendar_source): set the default calendar
	source
	(e_cal_set_default_tasks_source): ditto for tasks
	(get_sources): get a source list given a gconf key
	(e_cal_get_calendars): get the calendar source list
	(e_cal_get_tasks): get the tasks source list

2004-01-28  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-container.[ch]: new class to contain all
	information about containers in the server.

	* backends/groupwise/e-gw-connection.[ch]
	(e_ge_connection_free_container_list): new function.
	(e_gw_connection_get_container_list): changed to return a list of
	EGwContainer's.
	(e_gw_connection_get_container_id): adapted to changes made in
	e_gw_connection_get_container_list().

2004-01-27  JP Rosevear <jpr@ximian.com>

	* libecal/e-cal.h: update proto

	* libecal/e-cal.c (e_cal_remove): rename from
	e_cal_remove_calendar
	(e_cal_get_error_message): key on new status name

	* libecal/e-cal-types.h: rename
	E_CALENDAR_STATUS_CARD_ID_ALREADY_EXISTS to
	E_CALENDAR_STATUS_OBJECT_ID_ALREADY_EXISTS, delete duplicate enum

	* idl/Evolution-DataServer-Calendar.idl: rename
	CardIdAlreadyExists to ObjectIdAlreadyExists

	* libecal/e-cal-listener.c (convert_status): key on new name
	
	* backends/file/e-cal-backend-file.c
	(e_cal_backend_file_create_object): return object id already
	exists

2004-01-27  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.c
	(get_e_cal_component_from_soap_parameter): not having the priority
	or dueDate properties is not an error.

2004-01-27  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.c
	(get_attendee_list_from_soap_parameter): don't allocate memory for
	ECalComponentAttendee's fields, make them just point to the values
	contained in the SoupSoapResponse.
	(get_e_cal_component_from_soap_parameter): don't free
	ECalComponentAttendee's fields, free the structure.
	(e_gw_connection_send_item): fixed warnings.

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_get_object):
	(e_cal_backend_groupwise_remove): lock/unlock the mutex when accessing
	private fields.

2004-01-27  JP Rosevear <jpr@ximian.com>

	* libedata-cal/e-cal-backend-cache.c (get_filename_from_uri): take
	a const uri
	(e_cal_backend_cache_set_property): pass a const value
	(e_cal_backend_cache_constructor): uri is const
	(e_cal_backend_cache_put_component): rid is const
	(e_cal_backend_cache_get_components): distinguish between GList
	and GSList

	* libedata-cal/e-cal-backend-sexp.c (func_uid): make sure we
	always set a return value

2004-01-27  JP Rosevear <jpr@ximian.com>

	* backends/groupwise/e-gw-connection.c
	(get_e_cal_component_from_soap_parameter): description is not
	const

2004-01-27  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_start_query): fixed memory leaks and use
	g_list_* functions for GList's, not g_slist_*.
	(match_object_sexp, match_recurrence_sexp): removed unneeded functions,
	we match the object directly in get_object_list.
	(e_cal_backend_groupwise_start_query): call get_object_list to retrieve
	the matched objects and call e_data_cal_view_notify_* functions
	appropriately.

2004-01-26  Harish K <kharish@novell.com>

	* calendar/backends/groupwise/e-cal-backend-groupwise.c :
	(e_cal_backend_groupwise_internal_get_default_timezone,
	e_cal_backend_groupwise_internal_get_timezone) : added and 
	implemented.
	(e_cal_backend_groupwise_get_object_list) : fixed incorrect
	access to the list.
	(e_cal_backend_groupwise_start_query) : fixed compiler warnings.
	 
	* calendar/backends/groupwise/e-gw-connection.c :
	(e_gw_connection_get_container_id) : Modified elements 'Folders' to 
	the 'folders' due to change in the server implementation.
	Fixed compiler warnings.

2004-01-24  Rodrigo Moya <rodrigo@ximian.com>

	* backends/http/e-cal-backend-http.c: make it use
	ECalBackendCache for its cache, and libsoup for the HTTP
	retrieval.
	(retrieval_progress_cb, uri_to_cache_dir, ensure_cache_dir): removed
	unneeded functions.
	(e_cal_backend_http_finalize): cancel Soup message here, if any, and
	close Soup session.
	(begin_retrieval_cb): use soup_session_queue_message() to send the
	HTTP request to the server.
	(retrieval_done): update the cache on success, and changed to be the
	callback for the Soup async message.
	(e_cal_backend_http_open): create a ECalBackendCache, not an
	ECalBackendFile.
	(e_cal_backend_http_remove): remove the cache.
	(e_cal_backend_http_is_loaded, e_cal_backend_http_get_default_object,
	e_cal_backend_http_get_object, e_cal_backend_http_get_timezone,
	e_cal_backend_http_add_timezone,
	e_cal_backend_http_set_default_timezone,
	e_cal_backend_http_get_object_list, e_cal_backend_http_start_query,
	e_cal_backend_http_get_default_timezone,
	e_cal_backend_http_get_timezone):
	dont proxy calls to the file backend, use the cache instead.
	(e_cal_backend_http_create_object, e_cal_backend_http_modify_object,
	e_cal_backend_http_remove_object, e_cal_backend_http_receive_objects,
	e_cal_backend_http_send_objects):
	the HTTP backend is read only, return permission denied error.

	* backends/http/Makefile.am: added SOUP_CFLAGS|LIBS.

	* backends/groupwise/Makefile.am: s/GROUPWISE/SOUP.

2004-01-23  Harish K <kharish@novell.com>

	* calendar/backends/groupwise/e-cal-backend-groupwise.c
	  Removed update_cache function and refactored the call-back 
	  to use e-gw-connection_get_deltas instead of update_cache.
	* calendar/backends/groupwise/e-gw-connection.c
	  use g_new0 instead of g_malloc0 and added NULL check for 
	  validating the soap responses. 
	  (get_e_cal_component_from_soap_parameter) added code to
	  parse 'message' into description.
	  
2004-01-22 Harish K <kharish@novell.com>

	* calendar/backends/groupwise/e-cal-backend-groupwise.c
	  (populate_cache, e_cal_backend_groupwise_get_object_list,
	  e_cal_backend_groupwise_get_free_busy ) :changed implementation
	  to use GList instead of GSList, aligning to the rest of the
	  backends.
	  (e_cal_backend_groupwise_get_changes, update_cache): implemented.

	* calendar/backends/groupwise/e-gw-connection.c
	  (get_attendee_list_from_soap_parameter) : modified 
          get_attendee_list_from_string to handle recipients element.
	  (get_e_cal_component_from_soap_parameter) -fixed memory leaks.
	  (update_cache_item) : implemented.
	  (e_gw_connection_get_freebusy_info, start_freebusy_session)
	  GSList to GList changes.

	* calendar/backends/groupwise/e-gw-connection.h : updated 
          declarations for the above changes.

	* calendar/libedata-cal/e-cal-backend-cache.[ch] :
	  (e_cal_backend_cache_get_components) : return GList instead of
          GSList.
          
2004-01-21  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_remove): remove the cache from disk
	when removing the calendar.

	* backends/file/e-cal-backend-file.c
	(e_cal_backend_file_remove): added missing call to g_dir_close().

2004-01-21  Rodrigo Moya <rodrigo@ximian.com>

	* backends/file/e-cal-backend-file.c (e_cal_backend_file_remove):
	use the full path when removing files.

2004-01-21  JP Rosevear <jpr@ximian.com>

	* libecal/Makefile.am: don't build client test

2004-01-21  JP Rosevear <jpr@ximian.com>

	* tests/ecal/test-ecal.c: the beginnings of a test client

	* tests/ecal/Makefile.am: build the test client

	* tests/Makefile.am: add ecal subdir

	* Makefile.am: add tests subdir

2004-01-21  Rodrigo Moya <rodrigo@ximian.com>

	* libecal/e-cal.c (e_cal_new): create the component listener
	here, so that backend_died_cb gets called when the backend dies.

2004-01-21  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(connect_to_server): added code for retrieving the container ID
	for tasks also.

2004-01-21  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_open): added missing g_mutex_unlock
	call.

2004-01-21  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.c
	(get_e_cal_component_from_soap_parameter): check arguments before
	passing them to functions to avoid warnings at runtime.

2004-01-21  Rodrigo Moya <rodrigo@ximian.com>

	* backends/file/e-cal-backend-file.c (create_cal): create
	directory tree to contain the calendar.

2004-01-21  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.c
	(get_e_cal_component_from_soap_parameter): return error when
	the type of the component does not match the supported ones.

2004-01-21  Rodrigo Moya <rodrigo@ximian.com>

	Fixes #51705

	* backends/file/e-cal-backend-file.c (e_cal_backend_file_remove):
	remove all files in the directory and the directory itself.

2004-01-21  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c (match_recurrence_sexp,
	match_object_sexp): use a GSList, which is what we are passed
	to e_cal_backend_groupwise_get_object_list.
	(e_cal_backend_groupwise_start_query): fixed warning.

2004-01-20  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_set_mode): split out the connection code.
	(connect_to_server): and moved it here.
	(e_cal_backend_groupwise_open): call connect_to_server, not
	set_mode, to avoid online/offline notifications.

2004-01-19  Harish K <kharish@novell.com> 

	* backends/groupwise/e-gw-connection.c :
	(get_e_cal_component_from_soap_parameter):
	'due' property set for TODOs instead of dtend.
	added code for mapping all values of GW data to
	percent, priority, classification, transparency
	properties in ECalComponent.
	Fixed compiler warnings.

2004-01-18  Harish K <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c :
	(e_cal_backend_groupwise_get_free_busy): Implemented.
	* backends/groupwise/e-gw-connection.[ch] :
	(e_gw_connection_get_deltas) : Implemented parsing of
	the response.
	(e_gw_connection_get_free_busy_info) : Implemented
	including private functions  
	(get_attendee_list_from_string, start_freebusy_session and
	close_freebusy_session).
	(e_gw_connection_get_container_id) : remove unused variable.
	(get_e_cal_component_from_soap_parameter) : added code to 
	set attendee_list to the e_cal_component.
	(get_evo_date_from_string) : fixed typo.

2004-01-16  JP Rosevear <jpr@ximian.com>

	* backends/file/e-cal-backend-file.c (save): remove test bits

2004-01-16  JP Rosevear <jpr@ximian.com>

	* libecal/e-cal.c (categories_changed_idle_cb): remove debug
	statement

2004-01-16  Rodrigo Moya <rodrigo@ximian.com>

	* libecal/e-cal.c (e_cal_open): return AUTH_REQUIRED error if
	we don't get a password from the authentication function.

	* backends/file/e-cal-backend-file.c
	(e_cal_backend_file_modify_object): store the old object before
	actually losing it.

2004-01-16  JP Rosevear <jpr@ximian.com>

	* libecal/e-cal.c: name space the idle data structs properly

2004-01-16  JP Rosevear <jpr@ximian.com>

	* libecal/e-cal.c (backend_error_idle_cb): idle handler to
	actually proxy the signal emission to the main thread
	(backend_error_cb): use above
	(categories_changed_idle_cb): idle handler for proxying
	(categories_changed_cb): use above

	Fixes #52743
	
2004-01-16  Christian Neumair  <chris@gnome-de.org>

	* libedata-cal/e-cal-backend-sexp.c (func_uid):
	Error message string fix.

2004-01-16  Rodrigo Moya <rodrigo@ximian.com>

	* libedata-cal/e-cal-backend-cache.c (get_filename_from_uri): use
	~/.evolution/cache/calendar for the cache files.

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_get_object_list): lock/unlock the
	private mutex.

2004-01-16  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.c
	(e_gw_connection_get_container_id): fixed duplicated variable name.

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_open): removed check for 'only_if_exists',
	we'll return NoSuchCal error if we can't find the calendar to open.

2004-01-15  Mark McLoughlin  <mark@skynet.ie>

	* libecal/e-cal-listener.c: (impl_notifyCalSetMode),
	(impl_notifyErrorOccurred), (impl_notifyCategoriesChanged):
	Remove debugging spew.

2004-01-15  Radek Doulik  <rodo@ximian.com>

	* libecal/e-cal.c (e_cal_is_read_only): fix the return value, it
	was returning ECalendarStatus instead of bool, it compares status
	to E_CALENDAR_STATUS_OK now

2004-01-14  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_open): if trying to create a new calendar,
	return an error, since we don't support that.
	(e_cal_backend_groupwise_remove): return "Permission Denied".

2004-01-14  Harish K <kharish@novell.com>

	* libedata-cal/e-cal-backend-cache.c
	(e_cal_backend_cache_get_components): return a list of e-cal-components
        rather than e-cal-component strings.

2004-01-13  JP Rosevear <jpr@ximian.com>

	* backends/groupwise/e-gw-connection.c
	(get_e_cal_component_from_soap_parameter): remove C99 declaration

2004-01-13  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-item.[ch] (e_gw_item_new_appointment):
	added a 'container' argument.
	(e_gw_item_dispose): free new field in the private structure.

	* backends/groupwise/e-gw-connection.[ch]
	(e_gw_connection_send_appointment): added a 'container' argument.

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_create_object,
	e_cal_backend_groupwise_modify_object): adapted to changes in
	e_gw_connection_send_appointment.
	(e_cal_backend_groupwise_receive_objects): implemented.

2004-01-13  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.[ch]
	(e_gw_connection_get_items): moved the folder retrieving code to...
	(e_gw_connection_get_container_id): ...here, new function.

	* backends/groupwise/e-cal-backend-groupwise.c: added 'container_id'
	field to private structure.
	(e_cal_backend_groupwise_finalize): free the container_id.
	(populate_cache): pass the container_id to e_gw_connection_get_items.
	(e_cal_backend_groupwise_set_mode): retrieve the container ID after
	connecting to the server.

2004-01-13  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.[ch] (logout): unref the message
	if we dont get a response, not the response, which is NULL, and unref
	it also before exiting the function.
	(e_gw_connection_remove_item): new function.

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_remove_object): implemented.

2004-01-13  Rodrigo Moya <rodrigo@ximian.com>

	* libecal/e-cal-component.[ch] (e_cal_component_get_recurid_as_string):
	new function, moved from the file and groupwise backends.

	* libedata-cal/e-cal-backend-cache.[ch]
	(e_cal_backend_cache_put_component): changed to get an ECalComponent.

	* backends/groupwise/e-gw-item.[ch]: new class for managing items
	to be sent to the server.

	* backends/groupwise/e-gw-connection.[ch] (e_gw_connection_send_item,
	e_gw_connection_send_appointment): new functions.
	(e_gw_connection_get_container_list): made it public.

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_create_object): finished implementation.
	(e_cal_backend_groupwise_modify_object): implemented.
	(get_rid_string): removed.
	(populate_cache): adapted to changes in ECalBackendCache, and use
	e_cal_component_get_recurid_as_string instead of the local
	get_rid_string().

	* backends/groupwise/Makefile.am: added new files.

	* backends/file/e-cal-backend-file.c (get_rid_string): removed.
	(add_component, e_cal_backend_file_modify_object): use
	e_cal_component_get_recurid_as_string instead of the local
	get_rid_string().

2004-01-13 Harish K <kharish@novell.com>

	* calendar/backends/groupwise/e-cal-backend-groupwise.c
          (populate_cache): fixed memory leaks.
          (e_cal_backend_groupwise_open): return function with success when
          invoked again after the cache has been created already.
          (e_cal_backend_groupwise_get_object_list): implemented.
          (e_cal_backend_groupwise_start_query): implemented.

	* calendar/backends/groupwise/e-gw-connection.c
          (get_e_cal_component_from_soap_parameter): modification to strip
          date and time separators in argument before calling
          icaltime_from_string.

	* calendar/backends/groupwise/e-gw-connection.h
          (e_gw_connection_get_delta): - Added declaration.

	* calendar/libedata-cal/e-cal-backend-cache.c
          (e_cal_backend_cache_constructor): Added the function and updated
          class_init to use it.
          (e_cal_backend_cache_get_components): Added method to wrap 
          e_file_cache_get_objects for better abstraction.
          (e_cal_backend_cache_set_property): fixed NULL termination to argument
          list.

2004-01-12  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_open):
	* backends/http/e-cal-backend-http.c (e_cal_backend_http_open): made
	the backends start online always, until we fix the online/offline
	handling via the shell.

2004-01-12  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.[ch]
	(e_gw_connection_get_user_name, e_gw_connection_get_user_uuid): new
	functions.

2004-01-12  Rodrigo Moya <rodrigo@ximian.com>

	* backends/http/e-cal-backend-http.c (uri_to_cache_dir): fixed leak.

2004-01-10  Rodrigo Moya <rodrigo@ximian.com>

	* libedata-cal/e-cal-backend-sexp.c (func_occur_in_time_range):
	don't leak the dates retrieved with e_cal_component_get_dtstart/dtend.

	* libedata-cal/e-cal-backend-sync.c (_e_cal_backend_get_timezone):
	free the 'object' string returned by the provider's get_timezone
	method.

	* libedata-cal/e-data-cal-factory.c
	(e_data_cal_factory_register_method):
	g_free the string returned by g_ascii_strdown().

2004-01-10  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_get_timezone): fixed copy/paste typo.
	(e_cal_backend_groupwise_remove, e_cal_backend_groupwise_add_timezone,
	e_cal_backend_groupwise_set_default_timezone,
	e_cal_backend_groupwise_get_object_list,
	e_cal_backend_groupwise_get_free_busy,
	e_cal_backend_groupwise_get_changes,
	e_cal_backend_groupwise_discard_alarm,
	e_cal_backend_groupwise_modify_object,
	e_cal_backend_groupwise_remove_object,
	e_cal_backend_groupwise_receive_objects,
	e_cal_backend_groupwise_send_objects):
	fixed compilation warnings.

	* backends/groupwise/Makefile.am:
	* backends/groupwise/groupwise-config-listener.c: removed unused file.

2004-01-09  Harish K <kharish@novell.com>

	* backends/groupwise/e-cal-backend-groupwise.c
        (populate_cache): implemented.

	* backends/groupwise/e-gw-connection.h:
        added declaration for e_gw_connection_get_items.

	* backends/groupwise/e-gw-connection.c:
        (e-gw-connection-get-items) :implementation to obtain 
        calendar data from GW using SOAP.

2004-01-08  JP Rosevear <jpr@ximian.com>

	* libecal/e-cal.c (convert_type): kill warning
	(e_cal_get_timezone): fix preconditions, tzid being NULL is valid,
	set *zone to NULL if we short circuit on a local time

2004-01-07  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_open): keep the username and password
	passed from the client, and don't open the connection here.
	(e_cal_backend_groupwise_set_mode): ...do it here, when we change
	mode to 'online'.
	(e_cal_backend_groupwise_get_mode): implemented.
	(e_cal_backend_groupwise_is_loaded): check the cache, not the
	connection, since we can be loaded without being online.
	(populate_cache): made it static.

	* backends/http/e-cal-backend-http.c (begin_retrieval_cb): only
	begin the retrieval if we are online.

	* libecal/e-cal-util.h: added cal_mode_to_corba macro from
	e-cal-backend-http.c.

2004-01-07  Rodrigo Moya <rodrigo@ximian.com>

	* libecal/e-cal.c (convert_type): removed g_assert_not_reached.

2004-01-07  Rodrigo Moya <rodrigo@ximian.com>

	* libecal/e-cal.c (e_cal_get_alarms_for_object): pass the correct
	callback data for e_cal_resolve_tzid_cb().

2004-01-07  JP Rosevear <jpr@ximian.com>

	* libedata-cal/Makefile.am: remove DISABLE_DEPRECATED flags

	* libecal/Makefile.am: ditto

2004-01-07  Rodrigo Moya <rodrigo@ximian.com>

	* libecal/e-cal.c (build_component_alarms_list): clone the icalcomponent
	to avoid having a pointer to an object that is freed afterwards, in
	e_cal_get_alarms_in_range.
	(e_cal_get_alarms_in_range): use icalcomponent_free to free the objects
	in the list returned by e_cal_get_object_list.

2004-01-07  Rodrigo Moya <rodrigo@ximian.com>

	* libecal/e-cal.c (build_component_alarms_list): pass the correct
	data (an ECal, not an icalcomponent) to e_cal_resolve_tzid_cb.

2004-01-06  JP Rosevear <jpr@ximian.com>

	* libedata-cal/e-cal-backend-sexp.c (func_uid): implement uid
	checking for sexps
	(e_cal_backend_sexp_new): use nice glib macro to count sexp
	elements

	* libedata-cal/e-cal-backend-cache.c: guard config.h include and
	include string.h to kill warning

2004-01-06  Rodrigo Moya <rodrigo@ximian.com>

	* libecal/e-cal.c (build_component_alarms_list): the list returned
	by e_cal_get_object_list() contains icalcomponent's already,
	so no need to parse them as strings.
	(e_cal_open): fixed warning.

2004-01-05  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-message.[ch]
	(e_gw_message_write_string_parameter): added 'prefix' argument, for
	not hard-coding all parameters to the "types" prefix.

	* backends/groupwise/e-gw-connection.c (logout, e_gw_connection_new,
	e_gw_connection_get_items): pass the XML prefix to
	e_gw_message_write_string_parameter().

2004-01-05  Rodrigo Moya <rodrigo@ximian.com>

	* libedata-cal/e-cal-backend-cache.[ch] (e_cal_backend_cache_put_object):
	merged _add_component and _replace_component into a single function.

	* backends/groupwise/e-cal-backend-groupwise.c (populate_cache):
	use e_cal_backend_cache_put_object, and let the cache deal with
	additions/replacements.

2004-01-05  Sivaiah Nallagatla <snallagatla@novell.com>

	* backends/groupwise/groupwise-config-listener.[ch] : new class implementing addition,
	removal, modification of e-sources for calender and tasks for groupwise accounts.
	
	* backends/groupwise/Makefile.am : added above two files in  Makefile.am 

2004-01-05  Christian Neumair  <chris@gnome-de.org>

	* libedata-cal/e-cal-backend-sexp.c: Generalize some strings.

2003-12-24  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.c (e_gw_connection_get_items):
	fixed warning.

2003-12-24  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-message.[ch] (e_gw_message_new_with_header):
	added 'session_id' argument, to add the <Header> SOAP part if not NULL.

	* backends/groupwise/e-gw-connection.c (e_gw_connection_get_items): use
	e_gw_message_new_with_header to create the SOAP message. Also, unref
	the correct object if we don't get a response from
	e_gw_connection_send_message, or we when we can't find a parameter in
	the response.
	(logout): pass session ID to e_gw_message_new_with_header().
	(e_gw_connection_new): ditto.

	* backends/groupwise/e-cal-backend-groupwise.c: removed 'icalcomp'
	field from the ECalBackendGroupwisePrivate structure.
	(e_cal_backend_groupwise_get_timezone): don't use priv->icalcomp
	to retrieve timezones, since that object is empty, use the libical's
	built-in timezones.
	(populate_cache): fixed C99'isms and re-enabled g_mutex_lock/_unlock
	calls.

2003-12-24  Harish Krishnaswamy <kharish@novell.com>

	* backends/groupwise/e-gw-connection.[ch] (e_gw_connection_get_items):
	new function.

	* backends/groupwise/e-cal-backend-groupwise.c (populate_cache): new
	function to populate the cache with all objects from the server.
	(e_cal_backend_groupwise_open): call populate_cache when opening the
	connection, to get all objects from the server.
	(e_cal_backend_groupwise_get_default_object): implemented.
	(e_cal_backend_groupwise_get_timezone): implemented.

2003-12-22  Rodrigo Moya <rodrigo@ximian.com>

	* libedata-cal/e-cal-backend-sexp.c (func_has_alarms): removed useless
	'has_to_have_alarms' variable.

2003-12-22  JP Rosevear <jpr@ximian.com>

	* backends/file/e-cal-backend-file.c
	(e_cal_backend_file_modify_object): check the kind with the parent
	(e_cal_backend_file_create_object): ditto

2003-12-21  JP Rosevear <jpr@ximian.com>

	* libecal/e-cal.h: update protos

	* libecal/e-cal.c: use ECalSourceType
	(convert_type): convert and ECalSourceType to a corba equivalent
	(fetch_corba_cal): use ECalSourceType
	(e_cal_new): ditto
	(e_cal_new_from_uri): ditto
	(e_cal_generate_instances): does not need a type arg

	* libecal/e-cal-util.h: remove CalObjType

	* libecal/client-test.c (create_client): use ECalSourceType
	(main): ditto

2003-12-21  JP Rosevear <jpr@ximian.com>

	* backends/file/e-cal-backend-file.c (open_cal): set the uri
	before scanning the vcalendar because we may have to fix duplicate
	UIDs (and hence save the calendar)

2003-12-19 JP Rosevear <jpr@ximian.com>

	* libecal/e-cal.c (e_cal_get_alarms_in_range): create a valid sexp

2003-12-19  Rodrigo Moya <rodrigo@ximian.com>

	* libecal/e-cal.[ch] (e_cal_class_init):  removed 'forget_password'
	signal, since it's not used anywhere.

2003-12-19  Rodrigo Moya <rodrigo@ximian.com>

	* idl/Evolution-DataServer-Calendar.idl: added 'username' and 'password'
	arguments to Cal::open method, so that we can send authentication
	from the clients.

	* libedata-cal/e-cal-backend.[ch] (e_cal_backend_open):
	* libedata-cal/e-cal-backend-sync.[ch] (e_cal_backend_sync_open,
	_e_cal_backend_open):
	* libedata-cal/e-data-cal.c (impl_Cal_open):
	* backends/http/e-cal-backend-http.c (e_cal_backend_http_open):
	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_open):
	* backends/file/e-cal-backend-file.c (e_cal_backend_file_open): adapted
	to changes in above method.

	* libecal/e-cal.[ch]: added E_CAL_LOAD_AUTHENTICATING to LoadState enum.
	(e_cal_open): check with the ESource if the server needs authentication
	or not, and if so, ask the client's provided auth function. Call
	GNOME_Evolution_Calendar_Cal_Open with the new arguments.

2003-12-18  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c: use a GMutex for
	thread safety.
	(e_cal_backend_groupwise_init): create the GMutex.
	(e_cal_backend_groupwise_finalize): free the GMutex.
	(e_cal_backend_groupwise_open): use the mutex.

2003-12-17  JP Rosevear <jpr@ximian.com>

	* backends/groupwise/e-gw-connection.c (e_gw_connection_init):
	create a synchronous session

2003-12-17  Hans Petter Jansson  <hpj@ximian.com>

	* libecal/e-cal.c (e_cal_finalize): Unref source.
	(fetch_corba_cal): Ref and keep source.
	(e_cal_get_source): Implement.

2003-12-17  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/create-account.c: added support for specifying
	a password, since we need one to connect to the server.

2003-12-16  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.c (e_gw_connection_new): no need to
	set the namespace for "types:", it's already set in
	e_gw_message_new_with_header().

2003-12-16  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-message.c (e_gw_message_new_with_header):
	added the namespace for the SOAP types.

	* backends/groupwise/e-gw-connection.c (logout): fixed copy-paste typo.

	* backends/groupwise/soap-test.c (idle_cb): unref the EGwConnection
	object, so that the logout message is sent to the server.

2003-12-16  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_open): return an AuthenticationFailed error
	when we can't open the connection.

2003-12-16  JP Rosevear <jpr@ximian.com>

	* libecal/e-cal.c (e_cal_get_free_busy): the info is already in
	ECalComponent form, no need to process it again, from Gary Ekker
	<gekker@novell.com>

	Fixes #52218
	
2003-12-16  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.c (parse_response_status): map
	some error codes.
	(e_gw_connection_new): retrieve all the info returned in the UserInfo
	type (name, email and uuid).
	(e_gw_connection_disposee): free new private fields.

2003-12-16 Sivaiah Nallagatla <snallagatla@novell.com>
	
	* backends/groupwise/e-gw-connection.h
	* backends/groupwise/e-gw-connection.c (e_gw_connection_new,
	e_gw_connection_get_user_email)
	* backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_get_ldap_attribute,
	e_cal_backend_groupwise_get_cal_address, e_cal_backend_groupwise_is_read_only,
	e_cal_backend_groupwise_get_alarm_email_address, e_cal_backend_groupwise_get_static_capabilities
	e_cal_backend_groupwise_open ): added implementation for all the apis listed above

2003-12-15  JP Rosevear <jpr@ximian.com>

	* libecal/e-cal-listener.c (e_cal_listener_class_init): fix the
	number of parameters for get free busy and get_changes

2003-12-15  Rodrigo Moya <rodrigo@ximian.com>

	* backends/e-cal-backend-sync.c (_e_cal_backend_sync_get_ldap_attribute,
	_e_cal_backend_sync_get_static_capabilities,
	_e_cal_backend_sync_get_alarm_email_address): call the correct
	e_cal_backend_sync_* functions, typo pointed out by Siva.

2003-12-15  Rodrigo Moya <rodrigo@ximian.com>

	* backends/file/e-cal-backend-file.c
	(e_cal_backend_file_get_static_capabilities): g_strdup the
	'capabilities' argument, since it is expected to be freed in
	e-cal-backend-sync.c.

	* backends/http/e-cal-backend-http.c
	(e_cal_backend_http_get_static_capabilities): ditto.

2003-12-14  JP Rosevear <jpr@ximian.com>	

	* libecal/e-cal-component.c (set_datetime): don't remove and then
	free the param, lest we double free it

	Fixes #51633

2003-12-14  JP Rosevear <jpr@ximian.com>

	* libedata-cal/e-data-cal.c (e_data_cal_notify_free_busy): call
	the correct notification method

2003-12-13  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/Makefile.am: set the correct G_LOG_DOMAIN.

2003-12-12  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-message.c (e_gw_message_new_with_header):
	added SOAPAction header to the request.

2003-12-12  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-message.c (e_gw_message_write_footer): write
	the request's content here.
	(e_gw_message_new_with_header): add the Content-Type header.

	* backends/groupwise/e-gw-connection.c (e_gw_connection_send_message):
	no need to write the request here, it's written in
	e_gw_message_write_footer().

2003-12-12  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-message.c (setup_debug): fixed typo.

	* backends/groupwise/Makefile.am: use $DEBUG_CFLAGS.

2003-12-12  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-message.c (setup_debug, print_header,
	debug_handler): new functions for adding debugging of the SOAP messages.
	(e_gw_message_new_with_header): if G_ENABLE_DEBUG is defined, setup
	debugging for the message. Also, use POST to send the messages.

	* doc/gw-soap-methods.xsd:
	* doc/gw-soap-types.xsd: added new versions of SOAP interfaces.

2003-12-11  Rodrigo Moya <rodrigo@ximian.com>

	Fixes #52013

	* backends/file/e-cal-backend-file.c (create_user_free_busy): pass
	the TIME arguments correctly.

2003-12-10  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.c: use a SoupSession per
	EGwConnection, not one for all.
	(e_gw_connection_dispose): unref the SoupSession here.
	(e_gw_connection_init): create the SoupSession here.
	(e_gw_connection_send_message): use the private SoupSession.

2003-12-10  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/soap-test.c: added support for specifying a
	password in the command line.

	* backends/groupwise/e-gw-connection.c (e_gw_connection_new): dont
	unref the response when we havent got one.

2003-12-10  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.c (e_gw_connection_finalize):
	only try to remove the connection from the hash table if the hash
	table has been created.

2003-12-10  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/soap-test.c: new test program to test the
	SOAP interface to the GW server.

	* backends/groupwise/Makefile.am: compile new test program.

2003-12-10  JP Rosevear <jpr@ximian.com>

	* libecal/e-cal.c (e_cal_get_default_object): don't preload the
	timezones into the cache, its problematic because we don't want to
	have multiple operations at the same time and we don't do this for
	views for instance
	(e_cal_get_object): ditto

	Fixes #51225
	
2003-12-09  JP Rosevear  <jpr@ximian.com>

	* libecal/e-cal-listener.c (impl_notifyStaticCapabilities):
	actually emit the capabilities string

	Fixes #51747
	
2003-12-09  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.[ch]: made the connections be
	shared.
	(e_gw_connection_new): get the uri, username and password here, and
	before trying to login again to the server, see if we have already
	the same connection request in the loaded connections hash table.
	(e_gw_connection_login): removed.
	(e_gw_connection_logout): just unref the connection, the logout code
	moved to...
	(logout): ...here.
	(e_gw_connection_dispose): free new members.
	(e_gw_connection_finalize): remove the connection from the hash table,
	and destroy the hash table when there are no more connections on it.

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_open): use the new EGwConnection interface.

2003-12-08  Rodrigo Moya <rodrigo@ximian.com>

	* libedata-cal/e-cal-backend-cache.h: the class structure derives
	from EFileCacheClass, not EFileCache.

	* libedata-cal/e-cal-backend-cache.c (get_filename_from_uri): iterate
	correctly over the characters in the URI.

2003-12-08  Rodrigo Moya <rodrigo@ximian.com>

	* libedata-cal/e-cal-backend-cache.[ch]: use EFileCache instead
	of ECache.

2003-12-08  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c (convert_uri):
	new function to convert "groupwise://" URIs to "http://".
	(e_cal_backend_groupwise_open): call the above function to
	get a GnomeVFSURI, and use it as a temporary hack to get
	username and password.

2003-12-07  JP Rosevear  <jpr@ximian.com>

	* libedata-cal/e-data-cal-factory.c: version the oafiid

	* libecal/e-cal.c (get_factories): update the repo id
	
2003-12-07  JP Rosevear  <jpr@ximian.com>

	* libecal/e-cal.c (get_factories): use the versioned repo id

2003-12-04  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/create-account.c (add_account): add the username
	in the source URI, and use e_source_list_sync, to give it time to
	sync the GConf changes.

2003-12-04  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/create-account.c: changed to use a main loop,
	or saving to GConf seems not to work ??

2003-12-04  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/create-account.c (add_account): add the source
	to the group.

2003-12-04  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/create-account.c: make it use a username also.

2003-12-04  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/create-account.c: added simple program to
	add accounts to the calendar sources until we a GUI to configure
	them.

	* backends/groupwise/Makefile.am: added noinst program.

2003-12-03  Christian Kellnerc <gicmo@xatom.net>

         * libedata-cal/e-cal-backend-sexp.c: added has-recurrences sexp
	 function

2003-12-03  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-cal-backend-groupwise.c: use a cache
	to keep the objects from the server.
	(e_cal_backend_groupwise_finalize): unref the cache object.
	(e_cal_backend_groupwise_open): load/create the local cache.
	(e_cal_backend_groupwise_get_object): look for the object in
	the cache.
	(e_cal_backend_groupwise_class_init): fixed warning.

2003-12-01  William Jon McCann  <mccann@jhu.edu>
 
        * libecal/e-cal.c (e_cal_generate_instances): Fix query and
        get object list as components.
 
2003-12-01  Rodrigo Moya <rodrigo@ximian.com>

	* libedata-cal/e-cal-backend-cache.[ch]: changed to be based on the
	new ECache class.
	(get_filename_from_uri): new function to get a unique filename for a
	calendar/tasks URI.
	(e_cal_backend_cache_set_property): get the filename for the given URI
	and set the "filename" property on the cache, which will load/create
	the cache file.
	(e_cal_backend_cache_finalize): dont free removed fields.
	(e_cal_backend_cache_get_component, e_cal_backend_cache_add_component,
	e_cal_backend_cache_replace_component, e_cal_backend_cache_remove_component):
	new functions.

	* backends/groupwise/e-gw-connection.c (e_gw_connection_login): retrieve
	the session from the response, not the username.

2003-11-28  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.c (parse_response_status): new
	function to parse the "status" field returned in the SOAP response.
	(e_gw_connection_login, e_gw_connection_logout): call above function
	to get the status, and return that to the caller.
	
	* backends/groupwise/TODO: updated with more tasks.

2003-11-27  Rodrigo Moya <rodrigo@ximian.com>

	* libedata-cal/e-cal-backend-cache.[ch]: new class implementing a
	cache of calendar/tasks objects.

	* libedata-cal/Makefile.am: added new files.

2003-11-26  Hans Petter Jansson  <hpj@ximian.com>

	* idl/Evolution-DataServer-Calendar.idl (getCal): Take source XML
	instead of URI.

	* libecal/client-test.c (create_client): Adapt to API changes.
	(main): Ditto.

	* libecal/e-cal.c (fetch_corba_cal): Move to ESource.
	(e_cal_new): Take ESource.
	(e_cal_new_from_uri): Implement convenience call that takes URI.

	* libedata-cal/e-cal-backend.c (e_cal_backend_set_property):
	Implement PROP_SOURCE.
	(e_cal_backend_get_property): Same.
	(e_cal_backend_class_init): Same.
	(e_cal_backend_get_source): Same.

	* libedata-cal/e-data-cal-factory.c (impl_CalFactory_getCal): Take
	source XML and construct an ESource. Init backend with that.

2003-11-25  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-message.[ch]: new files to contain utility
	functions for easily creating SOAP messages.

	* backends/groupwise/e-gw-connection.[ch] (e_gw_connection_logout):
	new function.
	(e_gw_connection_finalize): if we're already connected, call
	e_gw_connection_logout().
	(e_gw_connection_login): implement response parsing.
	(e_gw_connection_send_message): new function.

	* backends/groupwise/e-cal-backend-groupwise.c
	(e_cal_backend_groupwise_is_loaded): implemented.

	* backends/groupwise/Makefile.am: added new files.

2003-11-20  Harry Lu  <harry.lu@sun.com>

	* backends/file/e-cal-backend-file.c:
	(e_cal_backend_file_internal_get_default_timezone): move to the front
	to avoid a compile warning.
	(e_cal_backend_file_internal_get_timezone): ditto.
	(sanitize_component): new function. If the component's timezone is not
	included in buildin timezone list, convert it to local default timezone.
	(e_cal_backend_file_create_object): call sanitize_component.
	(e_cal_backend_file_modify_object): ditto.
	(e_cal_backend_file_receive_objects): ditto.

2003-11-18  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/e-gw-connection.h: fixed typo.

	* backends/groupwise/e-gw-connection.c: base it on GObject, not
	SoupConnection.
	(e_gw_connection_login): new functions.
	(e_gw_connection_init): create the SoupSession here if it's not
	created, or ref it if it's already created.
	(e_gw_connection_finalize): unref the SoupSession here.
	(session_weak_ref_cb): callback to detect when the SoupSession dies.

	* backends/groupwise/e-cal-backend-groupwise.c: make it use
	EGwConnection's.
	(e_cal_backend_groupwise_finalize): unref the EGwConnection.
	(e_cal_backend_groupwise_open): create the EGwConnection here.

2003-11-17  Rodrigo Moya <rodrigo@ximian.com>

	* backends/groupwise/gw-connection.[ch]: new class for managing
	connections to Groupwise servers.

	* backends/groupwise/Makefile.am: added new files and needed
	CFLAGS and LIBS.

2003-11-17  Dan Winship  <danw@ximian.com>

	* libecal/e-cal-util.c (e_cal_util_new_component): New
	icalcomponent-based replacement for
	e_cal_component_new/e_cal_component_set_vtype.

	* libedata-cal/e-data-cal.c: fix up some broken indentation
	(e_data_cal_notify_default_object, e_data_cal_notify_object):
	constify the object arg

2003-11-14  Rodrigo Moya <rodrigo@ximian.com>

	* backends/Makefile.am: added groupwise backend directory to build.

	* backends/groupwise/Makefile.am:
	* backends/groupwise/e-cal-backend-groupwise.[ch]: Groupwise backend
	skeleton.

2003-11-11  ChangeLog <jpr@ximian.com>

	* libecal/e-cal.c (e_cal_class_init): emit the status

	* libecal/e-cal.h: remove open status enums, use calendar status
	instead

	* libecal/client-test.c (create_client): just directly open the
	calendar, no need to be async

2003-11-11  Dan Winship  <danw@ximian.com>

	* libedata-cal/e-cal-backend-sexp.c: Make the time-related sexp
	function handlers (eg, time-now, make-time, etc) be non-static, so
	they can be reused by backend-specific calendar sexp parsers.

2003-11-10  JP Rosevear <jpr@ximian.com>

	* libecal/e-cal.h: remove dead enums

2003-11-10  JP Rosevear <jpr@ximian.com>

	* libecal/e-cal.h: mark struct as private

	* libecal/e-cal.c: fix documentation headers

	* libecal/e-cal-view.h: fix cast macros and typedef the structs
	separately

	* libecal/e-cal-view.c: use correct type check macro, fix some
	documentation headers

	* libecal/e-cal-view-listener.h: typedef the structs separately
	and tidy up class macros

	* libecal/e-cal-util.c: fix a documentation header

	* libecal/e-cal-listener.h: mark parts of the struct as private

	* libecal/e-cal-listener.c: fix a few documentation headers

	* libecal/e-cal-component.h: remove extraneous comma and mark
	parts of struct as private

	* libecal/e-cal-component.c: fix a couple of documentation headers

2003-11-10  Dan Winship  <danw@ximian.com>

	* libedata-cal/e-cal-backend-sexp.c: Remove get-vtype from the
	query language, since it is redundant now.
	(func_has_alarms): Remove the boolean arg from has-alarms. You can
	just say (not (has-alarms?)).

2003-11-10  JP Rosevear <jpr@ximian.com>

	* libecal/e-cal.h: add proto

	* libecal/e-cal.c (e_cal_free_change_list): this belongs here

	* libecal/e-cal-types.h: remove proto

	* libecal/Makefile.am: don't build dead file

2003-11-07  Dan Winship  <danw@ximian.com>

	* libecal/Makefile.am (libecal_la_LDFLAGS): Remove -no-undefined

	* libedata-cal/Makefile.am (libedata_cal_la_LDFLAGS): Likewise

2003-11-06    <jpr@ximian.com>

	* libecal/e-cal-view-listener.h: match the signals better

	* libecal/e-cal-view-listener.c (e_cal_view_listener_class_init):
	ditto
	
2003-11-06  JP Rosevear  <jpr@ximian.com>

	* libecal/e-cal.c: replace e_mutex stuff with gthread stuff

2003-11-06  JP Rosevear <jpr@ximian.com>

	* Makefile.am: build new subdirs

	* backends/*: build the http and file backends here

	* libedata-cal/Makefile.am: no longer build them here	
	
2003-11-05  JP Rosevear  <jpr@ximian.com>

	* rename libedatacal to libedata-cal

2003-11-05  JP Rosvear <jpr@ximian.com>

	* libecal/Makefile.am: use privincludedir

	* libedatacal/Makefile.am: ditto

	* libecal/libecal-1.0.pc.in: ditto

	* libedatacal/libedatacal-1.0.pc.in: use privincludedir; remove
	gal

2003-11-05  JP Rosevear <jpr@ximian.com>

	* libecal/Makefile.am: LIBADD all the relevant libical libs

	* libecal/libecal-1.0.pc.in: no need to explicitly link
	libical-evolution

	* libedatacal/libedatacal-1.0.pc.in: ditto; fix include dir
	
2003-11-05  Rodrigo Moya <rodrigo@ximian.com>

	* libedatacal/e-cal-backend-sexp.c: removed GAL dependency.

2003-11-04  JP Rosevear <jpr@ximian.com>

	* libedatacal/e-data-cal-factory.c: use properly name spaced
	default id

2003-11-04  JP Rosevear <jpr@ximian.com>

	* libecal/libecal-1.0.pc.in (prefix): include priv dir stuff for
	libical

	* libedatacal/libedatacal-1.0.pc.in (prefix): ditto
	
	* libecal/e-cal-component.[hc]: properly name space alarm action
	enum

	* libecal/e-cal-types.h: properly name space change types	
	
2003-11-04  JP Rosevear <jpr@ximian.com>

	* libedatacal/e-data-cal-factory.c: remove corba header include

	* libedatacal/e-cal-backend-sync.h: include corba header properly
	
	* libedatacal/e-data-cal.h: ditto

	* libedatacal/e-data-cal-view.h: ditto

	* libedatacal/e-data-cal-factory.h: ditto

	* libedatacal/e-cal-backend.h: ditto

	* libedatacal/Makefile.am: reflect idl name change

	* libecal/e-cal-listener.h: include corba header properly

	* libecal/e-cal-view.h: ditto

	* libecal/e-cal-view-listener.h: ditto

	* libecal/Makefile.am: reflect idl name change

	* idl/Makefile.am: rename the idl to Evolution-DataServer-Calendar.idl

2003-11-03  Hans Petter Jansson  <hpj@ximian.com>

	* calendar/libedatacal/e-cal-backend-file.c (free_calendar_components)
	(free_calendar_data): Implement.
	(e_cal_backend_file_dispose): Use above freers.
	(get_uri_string_for_gnome_vfs): Implement.
	(open_cal): Set priv->uri to be escaped, GnomeVFS-friendly.
	(notify_removals_cb)
	(notify_adds_modifies_cb)
	(notify_changes)
	(reload_cal): Implement.
	(create_cal): Set priv->uri to be escaped, GnomeVFS-friendly.
	(get_uri_string): Implement - unescapes once.
	(e_cal_backend_file_compute_changes): Unescape DB URI once, don't make
	like it's in a subdirectory.
	(e_cal_backend_file_reload): Implement.

	* calendar/libedatacal/e-cal-backend-http.c
	(e_cal_backend_http_finalize): Cancel potential retrieval and free
	slave backend.
	(e_cal_backend_http_is_read_only): Clean up.
	(webcal_to_http_method)
	(uri_to_cache_dir)
	(ensure_cache_dir)
	(retrieval_done)
	(retrieval_progress_cb)
	(begin_retrieval_cb): Implement.
	(e_cal_backend_http_open): Set up slave backend.
	(e_cal_backend_http_remove)
	(e_cal_backend_http_is_loaded)
	(e_cal_backend_http_get_default_object)
	(e_cal_backend_http_get_object)
	(e_cal_backend_http_get_timezone)
	(e_cal_backend_http_add_timezone)
	(e_cal_backend_http_set_default_timezone)
	(e_cal_backend_http_get_object_list)
	(e_cal_backend_http_get_free_busy)
	(e_cal_backend_http_get_changes)
	(e_cal_backend_http_discard_alarm)
	(e_cal_backend_http_modify_object)
	(e_cal_backend_http_remove_object)
	(e_cal_backend_http_receive_objects)
	(e_cal_backend_http_send_objects)
	(e_cal_backend_http_internal_get_default_timezone)
	(e_cal_backend_http_internal_get_timezone): Implement with fallthrough
	to slave backend.
	(e_cal_backend_http_init): Remove cruft.

	* calendar/libedatacal/e-cal-backend-sync.c
	(e_cal_backend_sync_open): Use per-instance mutex.
	(e_cal_backend_sync_init): Set up per-instance mutex.
	(e_cal_backend_sync_dispose): Free per-instance mutex.

	* calendar/libedatacal/e-cal-backend.c
	(e_cal_backend_set_notification_proxy): Implement.
	(e_cal_backend_notify_object_created)
	(e_cal_backend_notify_object_modified)
	(e_cal_backend_notify_object_removed)
	(e_cal_backend_notify_mode)
	(e_cal_backend_notify_error): Use notification proxy if set.
