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.
