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.
