2007-11-16 Milan Crha ** Fix for bug #300584 by Peter Lord * backends/contacts/e-cal-backend-contacts.c: (cdate_to_icaltime): Use correct year when filling structure, not only years 1970+. 2007-11-13 Ondrej Jirman ** Fix for bug #494303 * libedata-cal/e-cal-backend-cache.c: (e_cal_backend_cache_get_timezone) Return NULL pointer after freeing timezone structure. 2007-10-11 Milan Crha ** Fix for bug #420167 * backends/contacts/e-cal-backend-contacts.c: (contact_record_new), (contact_record_free), (contact_record_cb_new): Ref and Unref backend used in ContactRecord to be sure it isn't freed before we endup with it. 2007-09-10 Chenthill Palanisamy ** Fix for bug #426421 * backends/contacts/e-cal-backend-contacts.c: (e_cal_backend_contacts_finalize): destroy the addressbook sources. 2007-09-10 Milan Crha ** Fix for bug #402506 * backends/weather/e-cal-backend-weather.c: (struct _ECalBackendWeatherPrivate), (begin_retrieval_cb), (e_cal_backend_weather_open), (e_cal_backend_weather_set_mode), (e_cal_backend_weather_finalize), (e_cal_backend_weather_init): Remembers idle and timeout calls and removes them when finalizing. 2007-09-07 Milan Crha ** Fix for bug #473880 * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_cal_backend_groupwise_set_attachments_from_comp): Fixes serious compiler warning 2007-08-30 Chenthill Palanisamy Fixes #298095 (bnc) * backends/groupwise/e-cal-backend-groupwise.c: (set_container_id_with_count): Compare if the folder is a system folder and calendar type to identify the system calendar. 2007-08-28 Ross Burton * backends/file/e-cal-backend-file-todo.c: Add missing config.h include (part of #271841). 2007-08-28 Ross Burton * */*: Fix FSF address (Tobias Mueller, #470445) 2007-08-23 Christian Kellner * backends/caldav/e-cal-backend-caldav.c: Use application/xml instead of text/xml as mime-type when sending xml requests. This together with getting rid of is-defined fixes bgo bug #394571 2007-08-23 Christian Kellner * backends/caldav/e-cal-backend-caldav.c: Only store relative hrefs (i.e. the filename of the object) in the component and the local cache and create the full qualified when needed (that means during server interaction). That should fix b.g.o bug #355659 and bug #354855 2007-08-23 Christian Kellner * backends/caldav/e-cal-backend-caldav.c: Add new debugging framework which can be controlled during runtime with the CALDAV_DEBUG debug enviroment variable. 2007-08-23 Christian Kellner * backends/caldav/e-cal-backend-caldav.c: (caldav_server_list_objects): Get rid of the non rfc-compliant is-defined xml tag in REPORT queries. 2007-08-23 Milan Crha ** Fix for bug #337454 * libecal/e-cal.c: (generate_instances): Based on RFC 2445, DTEND property is not required for reccuring VEVENT. 2007-08-13 Ross Burton * libedata-cal/e-cal-backend-cache.c: * backends/weather/e-weather-source-ccf.c: * libecal/e-cal-component.c: Fix compile warnings. 2007-08-10 Matthew Barnes * libecal/e-cal.c: Use EFlag to simplify synchronization logic (#415891). 2007-07-31 Chenthill Palanisamy * backends/caldav/create-account.c: * backends/caldav/e-cal-backend-caldav.c: * backends/contacts/e-cal-backend-contacts.c: * backends/file/e-cal-backend-file.c: * backends/groupwise/e-cal-backend-groupwise-utils.c: * backends/groupwise/e-cal-backend-groupwise.c: * backends/http/e-cal-backend-http.c: * backends/weather/e-weather-source-ccf.c: * libecal/e-cal.c: * libecal/e-cal.h: * libedata-cal/e-cal-backend-cache.h: * libedata-cal/e-cal-backend-sexp.c: * libedata-cal/e-cal-backend-sexp.h: * libedata-cal/e-cal-backend-util.c: * libedata-cal/e-cal-backend.h: * libedata-cal/e-data-cal-factory.c: * libedata-cal/e-data-cal-view.c: Changed the way header files are included so that they are picked up from the source rather than install area. 2007-07-30 Chenthill Palanisamy Fixes a memory corruption. * libecal/e-cal.c: (open_calendar): Use e_source_get_duped_property. 2007-07-13 Milan Crha ** Fix for bug #456565 * backends/http/e-cal-backend-http-factory.c: (_memos_new_backend), (_memos_get_kind), (memos_backend_factory_class_init), (memos_backend_factory_get_type), (http_types), (eds_module_initialize), (eds_module_list_types): Added support for Memos to webcal protocol, which is used for memos 'On The Web'. 2007-07-25 Milan Crha ** Fix for bug #268162 * backends/http/e-cal-backend-http.c: (struct _ECalBackendHttpPrivate): New members for username and password. * backends/http/e-cal-backend-http.c: (soup_authenticate), (soup_reauthenticate): Callbacks for authentication support. * backends/http/e-cal-backend-http.c: (begin_retrieval_cb): Connect new callbacks to soup_session. * backends/http/e-cal-backend-http.c: (e_cal_backend_http_open): Copy username and password when authentication is required. * backends/http/e-cal-backend-http.c: (retrieval_done): Warnings cleanup. 2007-07-29 Srinivasa Ragavan ** Fix for bug #460867 * libecal/e-cal-component.c: (get_attachment_list): 2007-07-09 Srinivasa Ragavan ** Fix for bug #394572 from Jari Urpalainen * backends/caldav/e-cal-backend-caldav.c: (caldav_ignore_host), (caldav_set_session_proxy), (caldav_do_open): 2007-07-09 Milan Crha ** Fix for bug #311098 * backends/contacts/e-cal-backend-contacts.c: (contacts_changed_cb): Always remove old tracked data and add new if possible. 2007-06-04 Chenthill Palanisamy * libedata-cal/e-cal-backend-sexp.c: (resolve_tzid), (func_occur_in_time_range), (func_due_in_time_range), (matches_attendee), (matches_organizer), (matches_classification), (matches_summary), (matches_priority),(matches_status), (func_has_attachment), (func_percent_complete), (func_contains), (func_has_alarms_in_range), (func_has_recurrences): Added search expressions for matching attendee, organizer, classification, priority, status, percent, attachment fields. Committing on behalf of Keshav Upadhyaya and Abhishek Parwal . 2007-06-03 Srinivasa Ragavan ** Fix for bug #442187 from John Stowers * libecal/e-cal.c: (get_default): 2007-05-31 Matthew Barnes * libecal/Makefile.am: Fix some distcheck errors (#438577). 2007-05-24 Ross Burton * backends/caldav/Makefile.am: Add missing link flags to fix build with -z,defs. (#409542, Loic Minier) 2007-05-22 Ross Burton * libecal/Makefile.am: * libecal/e-cal.c: * libecal/e-cal-view.c: * libecal/e-cal-view.h: * libecal/e-cal-view-private.h: * libecal/e-cal-listener.h: * libecal/e-cal-view-listener.h: Move e_cal_view_new to e-cal-view-private.h because it's an internal function, don't install the listener headers, and sanitise includes so that the installed headers don't mention Bonobo (#438727). 2007-05-16 Jules Colding * backends/groupwise/e-cal-backend-groupwise.c (fetch_attachments): Do not close() if (fd == -1) * backends/groupwise/e-cal-backend-groupwise-utils.c (set_attachments_to_cal_component): Do not close() if (fd == -1) * backends/file/e-cal-backend-file.c (fetch_attachments): Do not close() if (fd == -1) 2007-05-15 Ross Burton * tests/ecal/test-ecal.c: * tests/ecal/test-search.c: * tests/ecal/test-recur.c: Remove useless Bonobo usage. 2007-05-13 Rob Bradford * libecal/e-cal.c: (e_cal_create_object): Set the uid on the icalcomponent to the uid returned by the backend so that subsequent calls to e_cal_modify_object are safe. (bgo: #431135) 2007-05-07 Matthew Barnes * backends/caldav/e-cal-backend-caldav.c: * backends/groupwise/e-cal-backend-groupwise.c: * libecal/e-cal-component.c: * libecal/e-cal-recur.c: * libecal/e-cal.c: * libedata-cal/e-cal-backend.c: * libedata-cal/e-data-cal-view.c: * tests/ecal/test-ecal.c: Fix warnings reported by 'sparse'. Patch from Kjartan Maraas. 2007-04-05 Ross Burton * backends/file/e-cal-backend-file.c: Use g_mkdir_with_parents (#383686). 2007-04-04 Ross Burton * libecal/e-cal-marshal.list: * libecal/e-cal-listener.c: * libecal/e-cal-view-listener.c: * libecal/e-cal-view.c: Remove marshallers that are in GLib (#400970). 2007-04-01 Matthew Barnes * libedata-cal/e-data-cal-factory.c (get_backend_factory): * backends/groupwise/e-cal-backend-groupwise-utils (e_cal_backend_groupwise_set_attachments_from_comp), (e_gw_connection_get_freebusy_info): * backends/caldav/e-cal-backend-caldav.c (process_object): * backends/contacts/e-cal-backend-contacts.c (book_record_new), (contact_record_cb_new), (source_group_removed_cb), (cdate_to_icaltime), (create_component): * libecal/e-cal-listener.c (ECalListenerPrivate): Fix some compiler warnings. Patch from Kjartan Maraas. 2007-03-29 Matthew Barnes * backends/file/e-cal-backend-file.c: * backends/groupwise/e-cal-backend-groupwise.c: E-D-S requires GLib 2.10 now; remove dead backward-compatibility code for GLib < 2.8 (#418971). 2007-03-29 Matthew Barnes * libecal-e-cal.c: * libecal/e-cal-component.c: * libecal/e-cal-recur.c: * libecal/e-cal-util.c: Fix up the documentation (#413173). Patch from Ross Burton. 2007-03-26 Matthew Barnes * backends/groupwise/e-cal-backend-groupwise.c: * backends/weather/e-cal-backend-weather.c: Don't mix declarations and code (#405495). Patch from Jens Granseuer. 2007-03-25 Matthew Barnes ** Fixes bug #420933 * libecal/e-cal.c (e_cal_generate_instances_for_object): Copy the recurrence ID string so it doesn't disappear on us. Patch from Patrick Ohly. 2007-03-16 Matthew Barnes ** Fixes part of bug #360240 * backends/file/e-cal-backend-file.c (e_cal_backend_file_remove): Remove an unused variable. 2007-02-27 Ross Burton * libecal/e-cal.c: Use consistent URIs when opening calendars by using e_source_new_with_absolute_uri() in e_cal_new_from_uri (#333507). 2007-02-12 Kjartan Maraas * libecal/e-cal.c: (process_detached_instances): Don't crash on Outlook meeting invitations. Closes bug #404886. Patch from Patrick Ohly. 2007-02-12 Patrick Ohly Fixes #363102 * backends/file/e-cal-backend-file.c: (save_file_when_idle), (e_cal_backend_file_open), (save), (e_cal_backend_file_finalize), (e_cal_backend_file_get_object), (e_cal_backend_file_get_timezone), (e_cal_backend_file_add_timezone), (e_cal_backend_file_set_default_zone), (e_cal_backend_file_get_object_list), (e_cal_backend_file_start_query), (e_cal_backend_file_get_free_busy), (e_cal_backend_file_compute_changes), (e_cal_backend_file_internal_get_timezone), (e_cal_backend_file_create_object), (e_cal_backend_file_modify_object), (e_cal_backend_file_remove_object), (e_cal_backend_file_remove), (e_cal_backend_file_init), (e_cal_backend_file_set_file_name), (e_cal_backend_file_reload): (e_cal_backend_file_receive_objects), (e_cal_backend_file_init): Added the idle save mutex lock. 2007-01-29 Chenthill Palanisamy reviewed by: * backends/groupwise/e-cal-backend-groupwise-utils.c: (build_gwtz_from_icaltz), (set_properties_from_cal_component): * libecal/e-cal.c: (e_cal_create_object): 2007-01-23 Chenthill Palanisamy reviewed by: * backends/groupwise/e-cal-backend-groupwise-utils.c: (build_gwtz_from_icaltz), (set_properties_from_cal_component): * libecal/e-cal.c: (e_cal_create_object): 2006-11-27 Andrew Ruthven Fixes bug #349573 * calendar/backends/caldav/e-cal-backend-caldav.c (caldav_server_delete_object): Make sure that deleting CalDAV entries is RFC2068 compliant by changing If-None-Match to If-Match. 2006-12-03 Harish Krishnaswamy * backends/contacts/e-cal-backend-contacts.c: (e_cal_backend_contacts_finalize): Do not free default_zone if it is the built-in UTC timezone. * backends/file/e-cal-backend-file.c (e_cal_backend_file_finalize): Do not free default_zone if it is the built-in UTC timezone. Fix leak of filename. 2006-12-03 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise.c: (sanitize_component): Fix leak of str. 2006-12-03 Harish Krishnaswamy * libedata-cal/e-cal-backend.c: (e_cal_backend_finalize): Fix leak of uri and source. 2006-12-03 Harish Krishnaswamy * libedata-cal/e-data-cal-view.c: (e_data_cal_view_set_property): Do not dup backend. Fix this being leaked. 2006-11-15 Chenthill Palanisamy * libecal/e-cal-listener.c: (convert_status): Map the error status for 'No Such Calendar'. 2006-11-08 Sankar P * libecal/e-cal.c: (build_proxy_pass_key), (open_calendar): Do not pop up a password dialog for proxy accounts. Fixes #328836 2006-11-07 Chenthill Palanisamy * libecal/e-cal.c: (add_instance), (generate_instances), (e_cal_generate_instances_for_object): Generate the recurrence id picking up the right timezone from the start date. Fixes #215636 (bugzilla.novell.com) 2006-11-06 Harish Krishnaswamy * libecal/e-cal.c: (open_calendar): Remove an erroneous double mutex unlock. Fixes #312348 and its numerous duplicates. 2006-09-25 Matthew Barnes Fixes #357666 * backends/groupwise/e-cal-backend-groupwise.c: (change_status) Use g_ascii_strncasecmp instead of deprecated g_strncasecmp. 2006-09-22 Chenthill Palanisamy Fixes #351330 * backends/groupwise/e-cal-backend-groupwise.c: (cache_init): call the store settings in a idle thread. * backends/groupwise/e-cal-backend-groupwise.h: Defined a new structure to hold Gw settings and groupwise backend. * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_cal_backend_groupwise_store_settings): * backends/groupwise/e-cal-backend-groupwise-utils.h: Pass Gwsettings as an argument. 2006-09-18 Chenthill Palanisamy * backends/http/e-cal-backend-http.c: (begin_retrieval_cb): Check the right e-source property. Committing the patch from Mikael Nilsson . 2006-09-06 Chenthill Palanisamy Fixes a invalid read. * backends/http/e-cal-backend-http.c: (retrieval_done): clone the icalcomp before setting it in the new ECalComponent. See bug #352596 2006-08-24 Chenthill Palanisamy Fixes the gslice crash * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas): Do not free the cache_keys. 2006-08-24 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas): assign the proper iterator to cache_keys. (cache_init): Need not notify objects added signal for the elements existing in cache. 2006-08-23 Srinivasa Ragavan ** Fix for bug #349847 by Matthew Barnes * tests/ecal/test-ecal.c: (test_get_object): Initialize gerror to NULL. 2006-08-22 Chenthill Palanisamy * backends/http/e-cal-backend-http.c: (begin_retrieval_cb): check if "use_ssl" property is set in e-source. 2006-08-19 Chenthill Palanisamy Fixes #350887 * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas): replaced gslist_delete_link with remove link. 2006-08-19 Chenthill Palanisamy Fixes #325648 * libecal/e-cal-util.c: (e_cal_util_parse_ics_string): Check if the component is a VCALENDAR component before merging the component. 2006-08-19 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (set_default_alarms): Unref GConf client on all exit paths. 2006-08-17 Kjartan Maraas * libedata-cal/e-cal-backend-sync.c: (_e_cal_backend_remove_object): Remove an unused variable. 2006-08-11 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (set_attendees_to_item): removed the g_message. (e_cal_backend_groupwise_store_settings):unref the source_list. 2006-08-07 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise.c: (get_element_type), (populate_cache), (get_deltas), (cache_init): Add local function to map icalcomponent kind to GW item types. Add type checks to filters passed to createCursor calls, so that each component fetches items of its own type and none other. 2006-07-31 Chenthill Palanisamy Fixes #310489 * libecal/e-cal.c: (open_calendar): get the uri from ecal object. 2006-07-31 Chenthill Palanisamy Fixes #345646 * gui/dialogs/recurrence-page.c: (recurrence_page_finalize): Diconnect the signal handler while destroying the page. 2006-07-29 Chenthill Palanisamy Fixes #338203 * libecal/e-cal-time-util.c: (isodate_from_time_t): We format the time string ourselves without using strftime as its not thread safe. 2006-07-24 Harish Krishnaswamy Patch to split the cache into multiple files based on the type of objects it stores. This substantially reduces the primary memory requirements of Evolution and EDS for providers like GW, Exchange that manipulate event/tasks/journals together. * backends/caldav/e-cal-backend-caldav.c: (initialize_backend): * backends/groupwise/e-cal-backend-groupwise.c: (connect_to_server), (e_cal_backend_groupwise_open): * backends/http/e-cal-backend-http.c: (e_cal_backend_http_open): * backends/weather/e-cal-backend-weather.c: (e_cal_backend_weather_open): Update e_cal_backend_cache_new calls with an additional source type argument. * libecal/e-cal.[ch]: (e_cal_source_type_enum_get_type): Implement the function. * libedata-cal/e-cal-backend-cache.c: (get_filename_from_uri), (e_cal_backend_cache_set_property), (e_cal_backend_cache_get_property), (e_cal_backend_cache_constructor), (e_cal_backend_cache_class_init), (e_cal_backend_cache_new): Compute the cache destination using the source type. * libedata-cal/e-cal-backend-cache.h: Include header e-cal.h. 2006-07-22 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (set_default_alarms): Refactor code to cut down comparisons. 2006-07-22 Chenthill Palanisamy Fixes #347987 * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas): fall back to right recur_key if the start date is not returned by the server. 2006-07-22 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (set_default_alarms), (e_gw_item_to_cal_component): * backends/groupwise/e-cal-backend-groupwise-utils.h: Apply default alarm client preference to GW events if the event does not already have one. Fixes Bug #167330 on bugzilla.novell.com. 2006-07-22 Chenthill Palanisamy * libedata-cal/e-cal-backend-sexp.c: (matches_summary): If the query has a empty string, return TRUE. * libedata-cal/e-data-cal.c: (e_data_cal_notify_object_created): If the appointment is sucessfully created and if the *icalboj do not send the objects created signal to the backend as there might be a delay delivery set. * backends/groupwise/e-cal-backend-groupwise-factory.c: (_journal_new_backend), (_journal_get_kind), (journal_backend_factory_class_init), (journal_backend_factory_get_type), (eds_module_initialize), (eds_module_list_types): * backends/groupwise/e-cal-backend-groupwise-utils.c: (set_attendees_to_item), (set_properties_from_cal_component), (e_gw_item_new_from_cal_component), (e_gw_item_to_cal_component), (e_gw_connection_send_appointment), (e_cal_backend_groupwise_store_settings): * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache), (cache_init), (set_container_id_with_count), (connect_to_server), (e_cal_backend_groupwise_internal_get_default_timezone), (e_cal_backend_groupwise_create_object): * libecal/e-cal-recur.c: (e_cal_recur_generate_instances_of_rule): * libedata-cal/e-cal-backend-cache.c: (e_cal_backend_cache_get_components): Added support for Gw notes 2006-07-10 Chenthill Palanisamy Fixes #332911 * backends/caldav/e-cal-backend-caldav.c: (caldav_set_default_zone), (e_cal_backend_caldav_class_init): * backends/contacts/e-cal-backend-contacts.c: (e_cal_backend_contacts_open), (e_cal_backend_contacts_set_default_zone), (e_cal_backend_contacts_finalize), (e_cal_backend_contacts_class_init): * backends/file/e-cal-backend-file.c: (e_cal_backend_file_finalize), (e_cal_backend_file_open), (e_cal_backend_file_set_default_zone), (e_cal_backend_file_class_init): * backends/groupwise/e-cal-backend-groupwise.c: (connect_to_server), (e_cal_backend_groupwise_finalize), (e_cal_backend_groupwise_open), (e_cal_backend_groupwise_set_default_zone), (e_cal_backend_groupwise_class_init): * backends/http/e-cal-backend-http.c: (e_cal_backend_http_finalize), (e_cal_backend_http_open), (e_cal_backend_http_set_default_zone), (e_cal_backend_http_class_init): * backends/weather/e-cal-backend-weather.c: (e_cal_backend_weather_open), (e_cal_backend_weather_set_default_zone), (e_cal_backend_weather_finalize), (e_cal_backend_weather_class_init): * idl/Evolution-DataServer-Calendar.idl: * libedata-cal/e-cal-backend-sync.c: (e_cal_backend_sync_set_default_zone), (_e_cal_backend_set_default_zone), (e_cal_backend_sync_class_init): * libedata-cal/e-cal-backend-sync.h: * libedata-cal/e-cal-backend.c: (e_cal_backend_set_default_zone): * libedata-cal/e-cal-backend.h: * libedata-cal/e-data-cal.c: (impl_Cal_setDefaultTimezone): Added e_cal_backend_set_zone as a replacement for e_cal_backend_set_timezone. Replaced the same for all backends. * backends/e-cal-backend-groupwise-utils.c (set_properties_from_cal_component): check if the dtstart is date using the is_date parameter. * libecal/e-cal.c: (e_cal_set_default_timezone): Pass the timezone object as a string instead of the tzid. 2006-07-10 Harish Krishnaswamy * libedata-cal/e-cal-backend-cache.c: (e_cal_backend_cache_get_components), (e_cal_backend_cache_get_components_by_uid): Prefer g_(s)list_prepend to g_(s)list_append. 2006-07-03 Harish Krishnaswamy * libical/src/libical/icalvalue.c (icalvalue_decode_ical_string): If the string decoded has no special characters, the length of computed string is equal to the buffer length allocated. Hence, do not flag error on equality . 2006-06-21 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache): Set appropriate cursor/seek direction for each of the pre-population calls. 2006-06-19 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache): reset 'done' flag for each iteration of cursor reads. 2006-06-16 Tor Lillqvist * backends/groupwise/e-cal-backend-groupwise.c: Add gmtime_r() macro implementation for Win32. 2006-06-15 Andre Klapper * libecal/e-cal.c: * libecal/e-cal.c: changing "cancelled" to "canceled" in user-visible strings. Fixes bug #342163. 2006-06-15 Harish Krishnaswamy * libecal/e-cal-component.c: (get_attachment_list), (set_attachment_list): Handle attachment URLs with special characters that are not permitted in ICAL. Fixes #178706 in bugzilla.novell.com. 2006-06-15 Wang Xin Fixes #344253 * backends/file/e-cal-backend-file.c: (e_cal_backend_file_compute_changes_foreach_key): Free comp. * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_compute_changes_foreach_key): Free comp. 2006-06-13 Andre Klapper * backends/file/e-cal-backend-file.c: changing "couldn't", "can't" and "didn't" to proper English. Fixes bug #342160. 2006-06-13 Chenthill Palanisamy Fixes #335069 * backends/caldav/e-cal-backend-caldav.c: (caldav_remove): Return success if the cache is not loaded. 2006-06-12 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache), (get_deltas): Fetch calendar data with a bias towards present, near past and near future. Fixes bug#. Also, prefer gmtime_r to gmtime. 2006-06-12 Ross Burton * backends/contacts/Makefile.am: * backends/file/Makefile.am: * backends/weather/Makefile.am: Don't statically link a 200K library into each backend, when it's already in libecal. 2006-05-25 Wang Xin Fixes #342102 * libedata-cal/e-cal-backend-sync.c: (_e_cal_backend_modify_object): Free old_object and new_object. (_e_cal_backend_remove_object): Free old_object. 2006-05-07 Kjartan Maraas * backends/caldav/e-cal-backend-caldav.c: (process_object): Fix typos. We were copying the wrong variable in a couple of places. In plain english: Use the right etag on invitation updates. 2006-04-22 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_modify_object): Send item_id with recurence key while delegating multiple instances. Fixes #165714 (bugzilla.novell.com) 2006-04-10 Tor Lillqvist * libecal/e-cal-time-util.c: #define gmtime_r on Win32. 2006-04-06 Chenthill Palanisamy Fixes #162005 * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_modify_object): pass the rid while getting the component. (e_cal_backend_groupwise_remove_object): Compare only if the rid is present. 2006-04-05 Irene Huang Fixes bug 335225 * backends/contacts/e-cal-backend-contacts.c: (e_cal_backend_contacts_create_object), (e_cal_backend_contacts_class_init): Add implementation of e_cal_backend_contacts_create_object. 2006-04-03 Chenthill Palanisamy Fixes #158107 * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas), (e_cal_backend_groupwise_internal_get_timezone), (get_retract_data), (e_cal_backend_groupwise_modify_object), (send_object), (e_cal_backend_groupwise_send_objects): Added the retract support. 2006-03-28 Chenthill Palanisamy Fixes #336086 * libical/src/libical/icaltime.c: (set_tz), (unset_tz), (icaltime_as_timet_with_zone): Use a lock setting the tz enviromental variables. 2006-03-23 Chenthill Palanisamy Fixes #331146 * backends/file/e-cal-backend-file.c: (check_dup_uid), (add_component): Check if the component has a uid before try to search it in the cache. 2006-03-23 Chenthill Palanisamy Fixes #323275 * libedata-cal/e-cal-backend-cache.c: (e_cal_backend_cache_constructor): Register only if the type is not register before. 2006-03-23 Chenthill Palanisamy Fixes #334065 * libecal/e-cal-time-util.c: (isodate_from_time_t): * libical/src/libical/icaltime.c: (icaltime_from_timet_with_zone), (icaltime_as_timet_with_zone): Make mktime and gmtime thread safe. 2006-03-22 Chenthill Palanisamy Fixes #334000 * libedata-cal/e-cal-backend.c: (e_cal_backend_notify_object_removed): Check if the query matches. 2006-03-04 Chenthill Palanisamy Fixes #330974 * libecal/e-cal.c: (build_pass_key): Get the uri from ECal, which is more reliable. (open_calendar): Pass ECal to build_pass_key. 2006-03-01 Chenthill Palanisamy * libedata-cal/e-cal-backend-sync.c: (_e_cal_backend_remove_object): Do not get the object backend again. Use the provided new and old object. * libedata-cal/e-cal-backend.c: (e_cal_backend_notify_object_removed): Need not check if the query matches for removing an item. 2006-03-02 Jeff Cai Fixes #332276 * backends/weather/e-weather-source-ccf.c: (e_weather_source_ccf_parse): Support getting weather data through global http proxy. 2006-02-28 Chenthill Palanisamy Fixes #332726 * backends/file/e-cal-backend-file.c: (e_cal_backend_file_modify_object): Initialize and assign the recurrence id properly. Set the date and times of the master object depending on what has changed. 2006-02-20 Harish Krishnaswamy * backends/caldav/Makefile.am: Add soup_flags to la. 2006-02-14 Chenthill Palanisamy Fixes #331127 * backends/weather/e-cal-backend-weather.c: (e_cal_backend_weather_get_object): Use g_object_unref instead of g_free while disposing a ECalComponent. 2006-02-13 Chenthill Palanisamy Fixes #329866 * libecal/e-cal.c: (process_detached_instances): Check if we have valid recurrence id before comparing. 2006-02-12 Chenthill Palanisamy Fixes #329566, #329568 * backends/file/e-cal-backend-file.c: (e_cal_backend_file_modify_object): Reset the instance dates of the master object if its a recurring event. (remove_instance): Removed the return statement so that the exception is set in the master object. 2006-02-09 Rajeev ramanathan * backends/contacts/e-cal-backend-contacts.c: (contact_record_free) Corrected id. Fixes #326428 2006-02-09 Harish Krishnaswamy * backends/caldav/e-cal-backend-caldav.c: (synchronize_cache): return ECalComponentId instead of id during a remove notify as per the changed semantics in ecal. 2006-01-23 Veerapuram Varadhan ** Fixes #327427 * libedata-cal/e-data-cal-factory.c: (impl_CalFactory_getCal): Do not ref a NULL object. 2006-01-23 Chenthill Palanisamy Fixes #305656 * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas): Remove the deleted items from the server. 2006-01-23 Harish Krishnaswamy * backends/caldav/e-cal-backend-caldav.c: (caldav_server_open_calendar), (caldav_server_list_objects), (caldav_server_get_object), (caldav_server_put_object), (caldav_server_delete_object): Add debug hooks to each of the messages and remove some bad ones. 2006-01-22 Harish Krishnaswamy * backends/caldav/e-cal-backend-caldav.c (print_header), (debug_handler), (setup_debug), (caldav_server_open_calendar), (caldav_server_list_objects): Add debug helper functions to caldav backend. 2006-01-19 Chenthill Palanisamy Fixes #322951 * libedata-cal/e-cal-backend-cache.c: (e_cal_backend_cache_get_type): Put a mutex lock so that the Type value does not get reset. 2006-01-17 Harish Krishnaswamy * backends/caldav/Makefile.am: make distcheck fixes. 2006-01-16 Harish Krishnaswamy * backends/Makefile.am : Add caldav subdir. 2006-01-16 Harish Krishnaswamy * backends/caldav/* : 'Import' the CalDAV back-end implementation into evolution-data-server. Please refer evolution-caldav module in cvs.gnome.org for prior Change history. 2006-01-16 Tony Tsui Fixes #267402 * backends/http/e-cal-backend-http.c: (webcal_to_http_method, retrieval_done, begin_retrieval_cb): Add support for webcal access via https. 2006-01-12 Harish Krishnaswamy * libecal/e-cal.c: (get_factories): The Cal Factory oafid should reflect the API version rather than the BASE version. Fixes #323115. 2006-01-10 Simon Zheng * backends/file/e-cal-backend-file.c: * backends/weather/e-weather-source-ccf.c: * libecal/e-cal-util.c: * libedata-cal/e-cal-backend-sexp.c: As file e-util.h is renamed, replace "libedataserver/e-util.h" as "libedataserver/e-data-server-util.h". 2006-01-10 Chenthill Palanisamy Fixes #324518 * backends/http/e-cal-backend-http.c: (notify_and_remove_from_cache): Remove the items from the cache. 2006-01-06 Chenthill Palanisamy Fixes #324741 * backends/http/e-cal-backend-http.c: (e_cal_backend_http_open): Check if the default zone is present before adding it. 2006-01-05 Kjartan Maraas * backends/http/e-cal-backend-http.c: (notify_and_remove_from_cache): Use g_return_val_if_fail() in a non-void function not g_return_if_fail() * libecal/e-cal-component.c: (e_cal_component_get_id): Same as above. * libecal/e-cal-view-listener.c: (build_id_list): Fix type in function parameter. * tests/ecal/test-ecal.c: (all_tests): #if 0 out some unused stuff. * tests/ecal/test-recur.c: (main): Remove unused vars. 2006-01-04 Tor Lillqvist * backends/weather/e-weather-source-ccf.c (find_station_url): Modify call to e_util_replace_prefix() according to its changed interface. * backends/weather/Makefile.am: Need to pass E_DATA_SERVER_PREFIX because of the above. 2006-01-02 Chenthill Palanisamy Fixes #325498 * backends/http/e-cal-backend-http.c: (e_cal_backend_http_finalize): Remove the source from the timeout loop. 2005-12-21 Chenthill Palanisamy Fixes #305006 * backends/file/e-cal-backend-file.c: (e_cal_backend_file_receive_objects): If the UID is not present generate own uid and if the method is publish. 2005-12-16 Chenthill Palanisamy Fixes #267330 * libecal/e-cal-component.c: (e_cal_component_get_dtend), (e_cal_component_get_dtstart), (e_cal_component_get_due): Initialize internal elements of the datetime to avoid crashing. 2005-12-15 Chenthill Palanisamy Fixes #324009 * backends/http/e-cal-backend-http.c: (e_cal_backend_http_get_object): Use g_object_unref to free the component instead of g_free. 2005-12-13 Tor Lillqvist * libecal/Makefile.am (INCLUDES): Drop unused EVOLUTION_LOCALEDIR. 2005-12-11 Tor Lillqvist * libecal/e-cal.c (set_local_attachment_store, e_cal_new_system_calendar, e_cal_new_system_tasks, e_cal_new_system_memos): Use g_build_filename() and g_filename_to_uri(). 2005-12-09 Tor Lillqvist * backends/groupwise/e-cal-backend-groupwise-utils.c: Use gstdio wrappers. Use g_filename_from_uri() and g_file_get_contents(). * backends/weather/e-weather-source-ccf.c: Add localtime_r() and strtok_r() implementations for Win32. (find_station_url): Run-time lookup of the Locations.xml file on Win32. Use e_xml_parse_file. (tokenize): Remove unnecessary buffer allocation. * libecal/e-cal-util.c: Open file in binary mode. Compare localized strings using e_util_utf8_strcasecmp() instead of g_strcasecmp(). 2005-12-08 Tor Lillqvist * backends/file/e-cal-backend-file.c * backends/groupwise/e-cal-backend-groupwise.c: Use gstdio wrappers for full non-ASCII filename support on Windows. Use g_path_get_basename() instead of looking for '/'. Use g_filename_to_uri() instead of prefixing "file://". Use g_file_get_contents() or GMappedFile (if built against GLib >= 2.8) to read the attachment files. 2005-11-28 Chenthill Palanisamy Fixes #317322 * backends/file/e-cal-backend-file.c: (get_object_string_from_fileobject), (e_cal_backend_file_remove_object): Handle the case of deleting a recurring event with no master object. 2005-11-28 Chenthill Palanisamy Fixes #318777 * backends/file/e-cal-backend-file.c: (e_cal_backend_file_modify_object): Dont set the recurrence id again if its already present. Don't emit unnecessary modified signals. 2005-10-27 Chenthill Palanisamy Reworked the patch from Matthew Daniel Fixes #318130 * backends/http/e-cal-backend-http.c: Include the file e-cal-time-util.h 2005-10-26 Chenthill Palanisamy * backends/file/e-cal-backend-file.c: (e_cal_backend_file_set_default_timezone): Removed the assertion statement to check if the icalcomp is present. Its not needed as set_default_zone is called before loading now. 2005-10-24 Chenthill Palanisamy Fixes #308802 * backends/contacts/e-cal-backend-contacts.c: (e_cal_backend_contacts_open): * backends/file/e-cal-backend-file.c: (e_cal_backend_file_open), (e_cal_backend_file_set_default_timezone): * backends/groupwise/e-cal-backend-groupwise.c: (connect_to_server), (e_cal_backend_groupwise_open), (e_cal_backend_groupwise_set_default_timezone): * backends/http/e-cal-backend-http.c: (e_cal_backend_http_open), (e_cal_backend_http_set_default_timezone): * backends/weather/e-cal-backend-weather.c: (e_cal_backend_weather_open): Default timezone is set before the loading the calendar, so put in the cache once the calendar is loaded. * libecal/e-cal.c: (e_cal_set_default_timezone): Ensuring if the default timezone is present in the server is not needed now. 2005-10-19 Harish Krishnaswamy Committing for Nathan Owens * libecal/e-cal.c: (e_cal_new_system_memos): added backend support for Memos component. Finished implement VJOURNAL support * libecal/e-cal.h: (e_cal_new_system_memos): added prototype * tests/ecal/test-ecal.c: (test_new_system_memos): added memos test 2005-10-10 Chenthill Palanisamy Fixes #266144 * backends/contacts/e-cal-backend-contacts.c: (contact_record_free): * backends/http/e-cal-backend-http.c: (notify_and_remove_from_cache): * backends/weather/e-cal-backend-weather.c: (finished_retrieval_cb): * backends/file/e-cal-backend-file.c: (notify_removals_cb), (e_cal_backend_file_receive_objects): Use ECalComponentId. * backends/groupwise/e-cal-backend-groupwise-utils.[ch]: (e_gw_item_to_cal_component): Store the recurrence id in utc. (e_gw_connection_send_appointment): Get the component while accepting/declining from mail component and pass all_instances and get the partstat. the * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_remove_object), (change_status), (receive_object): Change the status of all recurring appointments if all_instances is set true. * idl/Evolution-DataServer-Calendar.idl: Added a structure to hold the recurrence id and uid to notify the component removed. * libecal/e-cal-component.c: (e_cal_component_get_id), (e_cal_component_free_id): Added new API's for getting the recurrence id and uid of a component. * libecal/e-cal-component.h: Added a structure of holding both the recurrence id and the uid. * libecal/e-cal-view-listener.c: (build_id_list), (impl_notifyObjectsRemoved): * libecal/e-cal-view.c: (objects_removed_cb): * libedata-cal/e-cal-backend-sync.c: (_e_cal_backend_remove_object): * libedata-cal/e-cal-backend.c: (match_query_and_notify), (e_cal_backend_notify_object_removed): * libedata-cal/e-cal-backend.h: * libedata-cal/e-data-cal-view.c: (uncache_with_id_cb), (remove_object_from_cache): (e_data_cal_view_notify_objects_removed), (e_data_cal_view_notify_objects_removed_1): * libedata-cal/e-data-cal-view.h: * libedata-cal/e-data-cal.c: (e_data_cal_notify_object_removed): * libedata-cal/e-data-cal.h: Changed the API's to use the ECalComponentId structure instead of uid. 2005-10-07 Arunprakash * libedata-cal/e-data-cal-factory.c (backend_last_client_gone_cb) : Use the same key for insertion and lookup in the backends hash table. (impl_CalFactory_getCal ): Same. ** Fixes #317897. 2005-10-04 Dinesh Layek Fixes #120071 * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_item_to_cal_component): Added a null check for the acceptlevel. 2005-10-01 Chenthill Palanisamy Fixes #314925 * backends/groupwise/e-cal-backend-groupwise-utils.c: (get_attendee_prop), (set_attendees_to_item): Get the delegated attendee and remove the delfrom parameter. 2005-10-01 Harry Lu * libecal/e-cal.c: (generate_instances): use the same logic as in e_cal_recur_generate_instances_of_rule() to get the instance's start and end time. 2005-09-13 dinesh layek fixes #316195 * backends/http/e-cal-backend-http.c: (e_cal_backend_http_get_free_busy), (create_user_free_busy), (free_busy_instance), (resolve_tzid): modified/added these functions for publishing freebusy information of a web-calendar. 2005-09-22 Dinesh Layek Fixes #309679 * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_item_to_cal_component): Check accept_level 2005-09-27 Sarfraaz Ahmed * libecal/e-cal.c (build_pass_key) : Do not recreate the uri. Instead strip the uri part after a ';'. The backend can now set its uri accordingly to have a consistent password key across multiple calendars * libedata-cal/e-data-cal-factory.c (impl_CalFactory_getCal) : Use the esource uri instead of the euri string to identify the calendar. Fixes #314746 2005-09-26 Wang Xin Fixes #317226 * libecal/e-cal.c: (generate_instances): For all day events, set the timezone of start time and end time to default zone, in case that it is NULL. 2005-09-12 Chenthill Palanisamy Fixes #116162 * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_connection_send_appointment): Check status in getItemsRequest. * backends/groupwise/e-cal-backend-groupwise.c: (receive_object): Assign the modif_comp to comp only if the getItemsRequest fails. 2005-09-15 Tor Lillqvist * backends/groupwise/e-cal-backend-groupwise-utils.c (e_gw_connection_send_appointment): Use g_ascii_strncasecmp() instead of strncasecmp() for well-definedness. 2005-09-01 Chenthill Palanisamy Fixes #114384 * backends/groupwise/e-cal-backend-groupwise.c: (compare_prefix), (get_deltas): Do not get form the calendar events for recurring appointments, just compare the prefix of the cache key to identify the presence of the item. 2005-08-25 Chenthill Palanisamy Fixes #312853 * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_item_to_cal_component): Intialize the tzid for all day events. 2005-08-22 Not Zed * backends/weather/e-weather-source.c (e_weather_source_new): constify base. Include missing string.h. * backends/weather/e-cal-backend-weather.c (e_cal_backend_weather_open): constify uri. * backends/contacts/e-cal-backend-contacts.c (contacts_changed_cb): constify uid. * backends/http/e-cal-backend-http.c (e_cal_backend_http_get_timezone): constify zone. * backends/groupwise/e-cal-backend-groupwise.c (get_deltas): remove unused. (set_container_id_with_count): fix this logic so it doesn't use an unset container pointer. (connect_to_server): remove unused. (e_cal_backend_groupwise_get_static_capabilities): remove all the unecessary backslashes. * backends/file/e-cal-backend-file.c (e_cal_backend_file_modify_object) (remove_instance, e_cal_backend_file_remove_object): cast away warnings. (e_cal_backend_file_modify_object): fix function signature. no idea what new_object should be set to. * libedata-cal/e-cal-backend-cache.c (e_cal_backend_cache_put_timezone): Cast away warnings. * libecal/e-cal-component.c (ensure_alarm_properties_cb): pass a string to icalproperty_set_description. Not sure if it's the right one. (get_attachment_list): use const char * for data. (set_alarm_description_cb): use const for old_summary. (SetAlarmDescriptionData): constify strings. * libecal/e-cal.c (open_calendar): make parent_user const & remove unused. (e_cal_get_objects_for_uid): init kind_to_find always. 2005-08-23 Veerapuram Varadhan Fixes #310461 (part of it) * libecal/e-cal-component.c (set_attachment_list): Do not call icalattach_unref after icalproperty_free, as the later ends up executing the former and thus we can avoid double unreffing. 2005-08-22 Sarfraaz Ahmed * libecal/e-cal.c (build_pass_key) : Builds the password key. Added new (get_host_from_uri) : Fetches the hostname from the esource. 2005-08-21 Chenthill Palanisamy Fixes #271969 * backends/file/e-cal-backend-file.c: (e_cal_backend_file_compute_changes): (e_cal_backend_file_compute_changes_foreach_key): Return boolean value as it as hash func. Committing for Armin Bauer and modified by and . 2005-08-17 Carsten Guenther Fixes http://bugzilla.gnome.org/show_bug.cgi?id=313657 * libecal/e-cal-recur.c: (cal_obj_remove_duplicates_and_invalid_dates, cal_obj_bymonthday_expand): If a occurrence falls on a day that does not exist for that month then move it to the last day of the month instead of skipping it. 2005-08-17 Chenthill Palanisamy Fixes #311831 * libecal/e-cal.c (cal_read_only_cb): Check if the op->bool is TRUE before emiting the cond signal. (get_read_only): set the op->bool to true while making the request. 2005-08-17 Chenthill Palanisamy Fixes #312578 * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_modify_object): Check the mod type and send the appropriate parameters for delegate request. 2005-08-12 P. S. Chakravarthi Fixes #311078 * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache): percent is not allowed to go beyond 100 2005-08-11 Tor Lillqvist * backends/contacts/Makefile.am * backends/file/Makefile.am * backends/groupwise/Makefile.am * backends/http/Makefile.am * backends/weather/Makefile.am * libecal/Makefile.am * libedata-cal/Makefile.am: Link with all used libraries. Use -no-undefined on Win32. * backends/contacts/e-cal-backend-contacts-factory.c * backends/file/e-cal-backend-file-factory.c * backends/groupwise/e-cal-backend-groupwise-factory.c * backends/http/e-cal-backend-http-factory.c * backends/weather/e-cal-backend-weather-factory.c * libedata-cal/e-cal-backend-factory.c: : Drop inclusion of , these files do not use any pthread API. * libecal/e-cal-component.c: No getgid() or getppid() on Win32, #define as 0. (e_cal_component_gen_uid): Use g_get_host_name() on Win32. * libecal/e-cal-recur.h (e_cal_recur_nth): Importing variables from DLLs can be a bit problematic, so use a functional API instead on Win32. * libecal/e-cal-recur.c (e_cal_get_recur_nth): Win32-only function that returns a pointer to the e_cal_recur_nth array. 2005-08-06 P. S. Chakravarthi Fixes #309499 * backends/groupwise/e-cal-backend-groupwise-utils.c: (set_attendees_to_item): Reset the 'delfrom' parameter to empty string and set the attendee_list back to the ECalComponent so that recipient list is build, containing current invitees only. 2005-08-04 Chenthill Palanisamy Fixes #305590 * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_connection_get_freebusy_info): Get the FreeBusyStatus element from the response before getting the FreeBusyInfo. 2005-08-02 Chenthill Palanisamy Fixes #310328 * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_item_to_cal_component): Assign the date value alone for start and end date if its an allday event. 2005-07-27 Mengjie Yu * backends/file/e-cal-backend-file-events.c: Add reserved field for an empty structure. * backends/file/e-cal-backend-file-journal.c: Add reserved field for an empty structure. * backends/file/e-cal-backend-file-todos.c: Add reserved field for an empty structure. * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_item_to_cal_component): Convert a structure to the same type will fail under sun's compiler. * backends/weather/e-weather-source.c: (e_weather_source_parse): void function should not return value. Fixes #310198 2005-07-25 Chenthill Palanisamy Fixes #271837 * libecal/e-cal.c: (e_cal_get_object): Fix for build break in sun compiler. Committing for bugzilla-novell@thewrittenword.com. 2005-07-25 Chenthill Palanisamy Fixes #303548 * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache), (get_deltas): Removed the getItems call for getting the new items, instead check for new items with all ids returned in read cursors request. 2005-07-23 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_connection_send_appointment): Check if the container id is present in the item id before appending it. 2005-07-21 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_get_static_capabilities): * libecal/e-cal-util.h: Added a new static capability CAL_STATIC_CAPABILITY_HAS_UNACCEPTED_MEETING to identify the backends which allow unaccepted meetings to appear in calendar. 2005-07-19 Chenthill Palanisamy Fixes #310767 * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_connection_send_appointment): Set the item_id for single instance also. Fixed typo error in X-GW-RECUR-INSTANCES-MOD-TYPE * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_remove_object): Pass the recurrence key while accepting/declining all instances of a recurring appointment. 2005-07-13 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache), (e_cal_backend_groupwise_create_object): Added "peek" in the view while getting the items back from the server. (e_cal_backend_groupwise_remove_object): Intialize the list item_ids to NULL. 2005-07-11 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_set_mode): Notify read_only to client(s). * libecal/e-cal.c (cal_read_only_cb),(open_calendar), (e_cal_is_read_only), (get_read_only): Get the read only state from the backend only while opening the calendar. The backend would notify us if the state changes. (e_cal_get_cal_address), (cal_cal_address_cb): Get the cal_address only once from the backend. * libedata-cal/e-cal-backend.[ch]: (e_cal_backend_notify_readonly), (e_cal_backend_notify_cal_address): Methods to notify the changes in the backend. Commiting for viren.l 2005-07-11 Chenthill Palanisamy * idl/Evolution-DataServer-Calendar.idl: Interface for sending a request for an attachment and notifying the attachment list. * libecal/e-cal-listener.[ch]: (impl_notifyAttachmentListRequested), (e_cal_listener_class_init): listens to the backend and Notifies the client. * libecal/e-cal.[ch]: (cal_attachment_list_cb), (e_cal_init), (e_cal_get_attachments_for_comp): API to retrieve the attachment list for a calendar item. * libedata-cal/e-cal-backend-sync.[ch]: (e_cal_backend_sync_get_attachment_list), (_e_cal_backend_get_attachment_list), (e_cal_backend_sync_class_init): Methods to send request to corresponding backends and send notifications to the client. * libedata-cal/e-cal-backend.c: (e_cal_backend_get_attachment_list): * libedata-cal/e-cal-backend.h: Calls the sync implemention. * libedata-cal/e-data-cal.[ch]: (impl_Cal_getAttachmentList), (e_data_cal_class_init), (e_data_cal_notify_object_list), (e_data_cal_notify_attachment_list): Implements the request and the sends notification to the listener. * backends/file/e-cal-backend-file.c: (e_cal_backend_file_get_attachment_list), (e_cal_backend_file_class_init): * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_get_attachment_list), (e_cal_backend_groupwise_class_init): Virtual methods to get the attachment for a calendar object. 2005-07-10 Sankar P * libecal/e-cal.c: (open_calendar) Added a string which will be used for password prompt in case of a proxy account. * backends/groupwise/e-cal-backend-groupwise.c: (connect_to_server) Added code to set the backend permission based on the proxy rights with which a proxy can act. 2005-07-09 Harish Krishnaswamy * libecal/e-cal.c: (e_cal_open_async), (e_cal_get_object), (e_cal_get_objects_for_uid), (e_cal_generate_instances_for_object), (e_cal_get_error_message): Fix some more compiler warnings. 2005-07-09 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas): Fix compiler warnings. 2005-07-08 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_remove_object): Use removeItemsRequest for removing all the recurring posted appointments. (get_gw_item_id): Get the item id from the component. (get_deltas): Commented the read cursors request to get the icalids, since we need recurrece keys as we use it as the uid for recurrence items. Get the component from cache using uid and rid. * e-cal.c (e_cal_remove_object): Used CALOBJ_MOD_THIS since we are just removing one component. 2005-07-08 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (set_rrule_from_comp), (set_properties_from_cal_component), (e_gw_item_to_cal_component), (e_gw_connection_send_appointment): add support for creation of recurrence items by sending the recurrence formula to the server instead of generating the instances at the client end. * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_get_static_capabilities): add capability RECURRENCES_NO_MASTER. (e_cal_backend_groupwise_remove_object): add support for removing all instances of a recurrence at one shot. * libecal/e-cal-util.h: Add a static capability RECURRENCES_NO_MASTER. Backends that do not use master objects to represent recurrence information and store them as individual instances. * libecal/e-cal.c: (e_cal_get_recurrences_no_master) (e_cal_generate_instances_for_object): Do not expand instances for objects from backends that do not have master object to represent recurrences. * libecal/e-cal.h: * libedata-cal/e-cal-backend-cache.[ch] (e_cal_backend_cache_get_components_by_uid): Function to fetch all items in the cache that have the same uid. (recurrence items, detached instances etc.) 2005-07-08 Sankar P * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas) Moved from getQuickMessages to combination of getItems and readCursor, to overcome the problems posed by getQuickMessages. * libedata-cal/e-cal-backend-cache.[ch]: (e_cal_backend_cache_get_key_value) (e_cal_backend_cache_put_key_value): Added functions so as to put/get strings onto cache * libedata-cal/e-cal-backend-cache.[ch]: (e_cal_backend_cache_put_server_utc_time) Removed the unnecessary duplication of utc string. 2005-07-02 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise-utils.c (e_gw_item_to_cal_component): Removed the debug messages. * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache), (set_container_id_with_count), (connect_to_server): Get the number of elements present in the calendar folder and use to calculate the percent. * libecal/e-cal-view-listener.c: (e_cal_view_listener_class_init): * libecal/e-cal-view.c: (e_cal_view_class_init): Marshal the elements with string_int. * libedata-cal/e-cal-backend.[ch]: (e_cal_backend_notify_view_progress), (e_cal_backend_notify_view_done): Added new functions to notify the view progress. 2005-07-02 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise.[ch]: Removed the function for getting container_id. 2005-07-02 Harish Krishnaswamy Fixes #309079 * libecal/e-cal.c: (e_cal_create_object): Fix memory leak 2005-06-23 Chenthill Palanisamy * backends/http/Makefile.am: Removed unnecessary linking to file backend. 2005-06-22 Chenthill Palanisamy * backends/groupwise/Makefile.am: Removed unnecessary linking to file backend. 2005-06-21 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise-utils.h: * backends/groupwise/e-cal-backend-groupwise.h: Committing the changes made in the header file for delegate. 2005-06-20 Chenthill Palanisamy * backends/file/e-cal-backend-file.c: (e_cal_backend_file_get_static_capabilities): Added the delegate support for file backend. * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_get_static_capabilities): * libecal/e-cal-util.h: Added the static capability to support delegation to multiple delegatees. 2005-06-06 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (set_attendees_to_item): Add the delegatees only while for sending delegate request. (set_properties_from_cal_component): called the function set_attendees_to_item to set attendees to component. (e_gw_item_new_for_delegate_from_cal): Create a new item for delegation. (e_cal_backend_groupwise_utils_check_delegate): Checks if the meeting is delegated. * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_get_container_id): Gets the container id from cbgw. (e_cal_backend_groupwise_get_static_capabilities): Added the static capability for Delegate. (e_cal_backend_groupwise_modify_object): Check if the meeting is delegated and send a delegate request. * backends/groupwise/e-cal-backend-groupwise.h: Added a function to get the container id. * libecal/e-cal-util.c: (e_cal_util_component_has_attendee): To check if the component has an attendee. * libecal/e-cal-util.h: Added the static capability for delegate and for a supporting backends which has no organizer. 2005-05-18 Ross Burton * backends/contacts/e-cal-backend-contacts.c: Fix various memory leaks. 2005-05-18 Rodrigo Moya * backends/file/e-cal-backend-file-journal.[ch]: new class to implement VJOURNAL backend. * backends/file/e-cal-backend-factory.c (_journal_new_backend, _journal_get_kind, journal_backend_factory_class_init, journal_backend_factory_get_type): new functions for the journal backend. (eds_module_initialize, eds_module_list_types): add the new backend. * backends/file/Makefile.am: added new files. 2005-05-13 Rodrigo Moya * libedata-cal/e-cal-backend.c (e_cal_backend_get_cal_address): fixed gtk-doc comments for functions without return value. 2005-05-13 The Written Word Fixes 271838 * libedata-cal/e-cal-backend.c (e_cal_backend_get_object_list): don't return value from void function. 2005-05-13 Shreyas Srinivasan * backends/contacts/e-cal-backend-contacts.c: Fix #256874 2005-05-12 Vivek Jain Fixes #271592 * backends/contacts/e-cal-backend-contacts.c: (e_cal_backend_contacts_get_object): check the uid to return the object corresponding to birthday/anniversary 2005-05-11 Rodrigo Moya * libedata-cal/e-cal-backend-sync.c: * libedata-cal/e-cal-backend-util.c: * libedata-cal/e-cal-backend.c: * libedata-cal/e-data-cal-factory.c: * libedata-cal/e-data-cal-view.c: * libedata-cal/e-data-cal.c: improved API documentation. 2005-05-09 Sushma Rai * libedata-cal/e-cal-backend-cache.c (e_cal_backend_cache_constructor): Freeing cache file name. * calendar/backends/groupwise/e-cal-backend-groupwise.c (get_deltas): Checking for server time value, though typically this should never be NULL. (e_cal_backend_groupwise_get_object_list): Unref cbsexp. * calendar/backends/file/e-cal-backend-file.c (e_cal_backend_file_get_object_list)(create_user_free_busy): Unref sexp. 2005-05-06 Rodrigo Moya * libedata-cal/e-cal-backend-factory.c: * libedata-cal/e-cal-backend-sexp.c: * libedata-cal/e-cal-backend-cache.c: improved API documentation. (e_cal_backend_cache_put_server_utc_time): fixed leak. 2005-05-06 Rodrigo Moya * libecal/e-cal.c: * libecal/e-cal-time-util.c: * libecal/e-cal-view.c: * libecal/e-cal-view-listener.c: * libecal/e-cal-util.[ch]: improved API documentation. (e_cal_util_expand_uri): removed unused function. 2005-05-06 Rodrigo Moya Fixes #273264 * libecal/e-cal.c (add_instance): set RECURRENCE-ID correctly. (generate_instances): use detached instances' start and end times, not the RECURRENCE-ID. * backends/file/e-cal-backend-file.c (e_cal_backend_file_modify_object): no need to add exceptions for detached recurrences. (e_cal_backend_file_get_static_capabilities): disable THISAND*, so that the broken GUI does not try to use them. 2005-05-04 Rodrigo Moya Fixes #300920 * libecal/libecal.pc.in: * libedata-cal/libedata-cal.pc.in: fixed Name: and Description: fields. 2005-05-04 Rodrigo Moya * libecal/e-cal-component.c: * libecal/e-cal-listener.c: * libecal/e-cal-recur.[ch]: improved API documentation. 2005-04-19 Philip Van Hoof * libecal/e-cal.c: Function prototype (compiler fix) 2005-04-18 Chenthill Palanisamy Fixes #274409 * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas_timeout), (cache_init), (connect_to_server): Run the get_deltas in a seperate thread instead of the main loop. (get_deltas): Added a static mutex lock. 2005-04-11 Vivek Jain * backends/groupwise/e-cal-backend-groupwise.c : (e_cal_backend_groupwise_compute_changes_foreach_key): callback function should take (key, value)pair as first two arguments and then the user data 2005-04-08 Rodrigo Moya * libecal/e-cal-util.h: added new function's prototype. 2005-04-08 Rodrigo Moya Fixes #70035 * libecal/e-cal-util.c (e_cal_util_parse_ics_string): new function that supports strings with multiple VCALENDAR's. * backends/http/e-cal-backend-http.c (retrieval_done): use the new function instead of icalparser_parse_string. 2004-04-06 Rodrigo Moya * libecal/e-cal.c (e_cal_open_async): check load state and if in progress or already loaded, notify caller and return. 2005-04-06 Chenthill Palanisamy * libecal/e-cal.c (open_calendar): Added a boolean variable in open_calendar to ensure authentication when the mode is switched.If the calendar is loaded return TRUE. Set the load_state to not loaded if the loading fails. (open_async), (e_cal_open), (reopen_with_auth): Added additional argument for the open_calendar call. 2005-04-06 Christian Kellner * libecal/e-cal.c (set_local_attachment_store): Add support for scalix provider. Also plug a small mem leak. Patch from Carsten Guenther 2005-03-24 Chenthill Palanisamy Fixes #73336 * backends/groupwise/e-cal-backend-groupwise.c: (connect_to_server): Check for the container id before calling the cache init. 2005-03-24 Chenthill Palanisamy Fixes #73508 * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_get_static_capabilities): * libecal/e-cal-util.h: Added a new static capability to check and set the partstat as NEEDS ACTION for the organizer. * libecal/e-cal.[ch] (e_cal_get_organizer_must_accept): Added a function to check the static capability. 2005-03-12 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise.c: (connect_to_server): Run the get deltas in a thread to avoid the inresponsiveness of the GUI when evolution changes mode from offline to online. 2005-03-12 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise.c (get_deltas) : use 'peek' while downloading new items so when the calendar gets the new item before the mailer has a chance to retrieve it, the item is not flagged read. 2005-03-12 Harish Krishnaswamy Fixes a memory corruption issue in GW backend * backends/groupwise/e-cal-backend-groupwise.c (get_deltas) : strftime should be passed an array of sufficient length, not a char *. Fetch t_str from cache - so you are always sure of having the correct value.Add some extra safety code checking empty strings. 2005-03-11 Sarfraaz Ahmed * libecal/e-cal.c : Set the local_attachment_store for exchange 2005-03-08 Chenthill Palanisamy Fixes #73141 * libecal/e-cal.c: (open_calendar): Check if the uri is not NULL before getting the password from e_passwords. 2005-03-06 Rodrigo Moya Fixes #72454 * backends/http/e-cal-backend-http.c (begin_retrieval_cb): call g_object_set with correct arguments. 2005-02-28 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas): Check if the component type is the same as the backend kind before sending notification to the view. 2005-02-28 Chenthill Palanisamy Fixes #72958 * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_create_object): If the server sends the status succes without uid present, then it must be due to delay delivery set, so do not put the component in the cache since it might not be created in the server. 2005-02-28 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas): store the time_string immediately after the 'New' call. add missing view in the second getQM call - "attachments" 2005-02-25 Rodrigo Moya * backends/weather/e-cal-backend-weather.c (e_cal_backend_weather_get_static_capabilities): 'capabilities' is not an array, but an out char * argument. 2005-02-25 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas): Changed the getQm calls since the function has been changed. Send the time stamps received from the server. * libedata-cal/e-cal-backend-cache.c: (e_cal_backend_cache_put_server_utc_time), (e_cal_backend_cache_get_server_utc_time): * libedata-cal/e-cal-backend-cache.h: Added functions to put the server UTC time in cache. 2005-02-25 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache): Do not use position cursor calls anymore. use position field in read cursor request. 2005-02-22 Rodrigo Moya * backends/http/e-cal-backend-http.c (e_cal_backend_http_init): * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_init): * backends/weather/e-cal-backend-weather.c (e_cal_backend_weather_init): set backend's lock to TRUE. 2005-02-22 JP Rosevear * libedata-cal/e-cal-backend-sync.c: added a lock wrapper to make calls be locked if backend is set so. (e_cal_backend_sync_set_lock): new function. (e_cal_backend_sync_is_read_only, e_cal_backend_sync_get_cal_address, e_cal_backend_sync_get_alarm_email_address, e_cal_backend_sync_get_ldap_attribute, e_cal_backend_sync_get_static_capabilities, e_cal_backend_sync_open, e_cal_backend_sync_remove, e_cal_backend_sync_create_object, e_cal_backend_sync_modify_object, e_cal_backend_sync_remove_object, e_cal_backend_sync_discard_alarm, e_cal_backend_sync_receive_objects, e_cal_backend_sync_send_objects, e_cal_backend_sync_get_default_object, e_cal_backend_sync_get_object, e_cal_backend_sync_get_object_list, e_cal_backend_sync_get_timezone, e_cal_backend_sync_add_timezone, e_cal_backend_sync_set_default_timezone, e_cal_backend_sync_get_changes, e_cal_backend_sync_get_free_busy): wrap calls to backend methods in our lock wrapper. * backends/contacts/e-cal-backend-contacts.c (e_cal_backend_contacts_init): * backends/file/e-cal-backend-file.c (e_cal_backend_file_init): set backend's lock to TRUE. 2005-02-22 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_connection_send_appointment): Return the status as it is. * backends/groupwise/e-cal-backend-groupwise.c (receive_object): Removed the check for modified item and ok status. Instead checked for the status ALREADY_ACCEPTED directly. 2005-02-22 Chenthill Palanisamy Fixes 71490 * backends/http/e-cal-backend-http.c (retrieval_done):If the vcalendar component does not have the UID property, do not add the component the component into the cache. 2005-02-21 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (get_attach_data_from_server), (set_attachments_to_cal_component), (e_gw_item_to_cal_component): Download the attachments from the server only if they are not already present in the cache. 2005-02-17 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache),(cache_init): Moved the get categories call from populate_cache to cache_init since it has to be called everytime. (e_cal_backend_groupwise_finalize), (e_cal_backend_groupwise_init): Hash table for categories need not be created/destroyed, connection will handle it. 2005-02-11 Rodrigo Moya Fixes #71545 * libecal/e-cal-view.c (objects_added_cb, objects_modified_cb, objects_removed_cb): ref/unref the view before/after emitting the signal. 2005-02-11 Chenthill Palanisamy Fixes #72107 * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_open): insert a g_mutex_unlock. 2005-02-10 Chenthill Palanisamy Fixes a crash * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_item_to_cal_component): Check whether the creation date is present, before converting it to icaltimetype. 2005-02-09 Rodrigo Moya * libecal/e-cal.c (open_calendar): use e_return_error_if_fail instead of g_return_val_if_fail. 2005-02-08 Rodrigo Moya * libecal/e-cal.c (add_instance): set correctly (again) the recurid. (generate_instances): set correctly instance times for detached occurrences. 2005-02-08 Rodrigo Moya * libecal/e-cal.c (add_instance): recurrence-id needs to be a date only. * backends/file/e-cal-backend-file.c (add_component): g_strdup the key for the hash table. (free_object_data): free the hash table key when freeing objects. (free_calendar_components, remove_component): no need to free the object's data here, this is done now automatically by the hash table. (open_cal, create_cal, reload_cal): create hash table with g_hash_table_new_full. 2005-02-08 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise.c (get_deltas): add attachments to the getQuickMessages view so they can listen for changes in attachments. 2005-02-08 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_remove_object): Assign the value for the *object as NULL and duped value to *old_object since calobj is freed later. 2005-02-07 JP Rosevear * backends/weather/e-cal-backend-weather.c (getCategory): don't translate the empty string 2005-02-07 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise.c: (ECalBackendGroupwisePrivate): Added a boolean variable to check if the mode has been changed. (get_deltas): put component replaces there is an existing component, so removed the remove_component call. Before getting the vtype of the component, check if comp is NULL. (cache_init): Insert the timeout call for getQuickMessages only for events. (connect_to_server): Add the timeout call for getquickmessages only if the mode has been changed. (e_cal_backend_groupwise_set_mode): Set the mode_changed variable. 2005-02-04 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_item_to_cal_component): Added a string for reply requested in send options. * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_open): Removed the error notify message for Repository offline since it would be handled from frontend. Fixes #72117 (e_cal_backend_groupwise_create_object): Check for the UID, if not present send an error message. 2005-02-04 Rodrigo Moya * tests/ecal/test-recur.c: removed libgnome usage. (main): use arguments correctly. 2005-02-04 Rodrigo Moya * libecal/e-cal.c (generate_instances): don't expand recurrences for detached instances. * tests/ecal/test-recur.c: * tests/ecal/Makefile.am: added recurrence test. 2005-02-04 Ross Burton * tests/ecal/test-search.c: Remove useless libgnome usage. 2005-02-03 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (set_categories_for_gw_item), (add_send_options_data_to_item), (set_properties_from_cal_component), (get_attach_data_from_server), (e_gw_item_to_cal_component), (e_gw_connection_send_appointment), (e_gw_connection_get_freebusy_info), (e_cal_backend_groupwise_store_settings): Fixed the compiler warnings and set the datetime value for the replywithin variable due to change in schemas. 2005-01-03 Vivek Jain * idl/Evolution-DataServer-Calendar.idl: added InvalidServerVersion in the callstatus * libecal/e-cal-types.h: (added INVALID_SEVER_VERSION) * libecal/e-cal-listener.c (convert_status): added INVALID_SERVER_VERSION * backends/groupwise/e-cal-backend-groupwise.c (connect_to_server): return the different callstatus if server doesn't return the version 2005-02-02 Ross Burton * backends/contacts/e-cal-backend-contacts.c: * backends/file/e-cal-backend-file.c: * backends/groupwise/e-cal-backend-groupwise.c: * backends/http/e-cal-backend-http.c: * backends/weather/e-cal-backend-weather.c: * backends/weather/e-weather-source-ccf.c: * libecal/e-cal-component.c: * libecal/e-cal-recur.c: * libecal/e-cal-util.c: * libecal/e-cal.c: * libedata-cal/e-cal-backend-sexp.c: * tests/ecal/test-ecal.c: Use glib/gi18n.h 2005-02-02 Chenthill Palanisamy Fixes #72004 * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas), (e_cal_backend_groupwise_get_free_busy), (e_cal_backend_groupwise_create_object), (e_cal_backend_groupwise_modify_object), (e_cal_backend_groupwise_remove_object), (receive_object): If Invalid connection error is returned from e-gw-connection, perform the operation again since re_authenticate method in gw-connection.c would give us a new valid session. 2005-01-31 Hans Petter Jansson * idl/Evolution-DataServer-Calendar.idl: Change the name of the multiple inclusion protection define, so it doesn't conflict with that in Evolution proper. 2005-01-31 Hans Petter Jansson * backends/file/Makefile.am: * backends/weather/Makefile.am: * backends/http/Makefile.am: * backends/groupwise/Makefile.am: * backends/contacts/Makefile.am: Build as modules. 2005-01-31 Chenthill Palanisamy Fixes #64682 * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_connection_create_appointment): IF the appointment is moved from another calendar, send the createItemsRequest to the server, so that it does not send mails to the recipients. 2005-01-31 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise.c (cache_init, connect_to_server): GW Task backend now relies on the Calendar backend to fetch changes. This reduces the load on the GW server. 2005-01-29 Sivaiah Nallagatla * calendar/backends/groupwise/e-cal-backend-groupwise.c (from_uri) : Change the default port to 7191 2005-01-28 Rodrigo Moya * idl/Evolution-DataServer-Calendar.idl: removed notifyCategoriesChanged method on CalListener. * libedata-cal/e-cal-backend.[ch] (e_cal_backend_init, e_cal_backend_finalize, e_cal_backend_add_client): no need to deal with categories now. (free_category_cb, prune_changed_categories, add_category_cb, notify_categories_changed, idle_notify_categories_changed, e_cal_backend_ref_categories, e_cal_backend_unref_categories): removed. * libedata-cal/e-data-cal.[ch] (e_data_cal_notify_categories_changed): removed. * backends/file/e-cal-backend-file.c (add_component, remove_recurrence_cb, remove_component, remove_instance, remove_object_instance_cb): no need to deal with categories now. * libecal/e-cal-listener.[ch]: removed "categories_changed" signal. (impl_notifyCategoriesChanged): removed. (e_cal_listener_class_init): don't set removed method. Don't create "categories_changed" signal. * libecal/e-cal.[ch]: removed "categories_changed" signal. (categories_changed_idle_cb, categories_changed): removed. (e_cal_init): removed connection to listener's "categories_changed" signal. (e_cal_class_init): don't create "categories_changed" signal. 2005-01-27 Chenthill Palanisamy partially Fixes#68541 * backends/groupwise/e-cal-backend-groupwise-utils.c: (start_freebusy_session), (close_freebusy_session), (e_gw_connection_get_freebusy_info): Return the error message as NO_RESPONSE if the server is not responding. * backends/groupwise/e-cal-backend-groupwise.c (get_deltas): Handled the NO_RESPONSE error status. 2005-01-27 Rodrigo Moya * backends/file/e-cal-backend-file.c: added a GMutex for the idle saving callback. (save_file_when_idle, save): lock/unlock the mutex while setting values. (e_cal_backend_file_finalize): unref the mutex. (e_cal_backend_file_init): create the mutex. 2005-01-26 Rodrigo Moya * backends/file/e-cal-backend-file.c (add_component): save the file when we add the component to the toplevel. (remove_component): make sure we always save the file. 2005-01-26 JP Rosevear * libecal/e-cal.c (e_cal_send_objects): fix leak in the error case 2005-01-25 Rodrigo Moya * backends/file/e-cal-backend-file.c (save_file_when_idle): uninstall idle handler when successfully saving the file. 2005-01-24 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise-utils.c (e_gw_connection_send_appointment) : The server now mandates "default" to be included for views in get_item calls. 2005-01-20 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (set_properties_from_cal_component): If the default zone is not set use utc, instead of returning NULL for the item. 2005-01-19 Rodrigo Moya * backends/file/e-cal-backend-file.c (cancel_received_object): deal with instances. 2005-01-19 Rodrigo Moya * backends/file/e-cal-backend-file.c (e_cal_backend_file_receive_objects): set the correct method on the VCALENDAR we create or it will fail in the code below. Deal correctly with detached recurrences. (remove_instance): unref the categories before removing the recurrences from the hash table. 2005-01-19 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_create_object) : Add 'default' to the view argument, as this is now necessary for the server to display the default values. 2005-01-18 Rodrigo Moya Fixes #68599 * libedata-cal/e-cal-backend-cache.c (e_cal_backend_cache_get_component): make sure we always return a valid ECalComponent. (e_cal_backend_cache_get_components): ditto. 2005-01-17 Rodrigo Moya * backends/file/e-cal-backend-file.c (add_component, remove_recurrence_cb, remove_component, remove_instance, remove_object_instance_cb): removed code related to the categories_changed signal. 2005-01-17 Rodrigo Moya * backends/file/e-cal-backend-file.c (save_file_when_idle): don't save the file if it's not dirty! 2005-01-17 Rodrigo Moya * backends/file/e-cal-backend-file.c: use guint for idle id. 2005-01-17 Rodrigo Moya Fixes #57567 * backends/file/e-cal-backend-file.c (save_file_when_idle): new function, to save the file to disk at application's idle times. (save): changed to just set the idle callback the first time and then, just mark the file as dirty. (e_cal_backend_file_finalize): remove the idle callback. (e_cal_backend_file_dispose): save the file if dirty. (e_cal_backend_file_init): initialize new members. 2005-01-17 Rodrigo Moya * libecal/e-cal-view.c (e_cal_view_set_property): make sure we clean up the old view and listener before setting the new ones. 2005-01-12 Rodrigo Moya Fixes #67974 * backends/http/e-cal-backend-http.c (begin_retrieval_cb): set the HTTP proxy on the SoupSession if configuration is set to use it. 2005-01-12 Not Zed * backends/http/e-cal-backend-http.c (retrieval_done): warning fix cast. 2005-01-12 David Trowbridge * backends/weather/e-cal-backend-weather.c: Use a single metric/imperial setting rather than separate temperature and snowfall settings 2005-01-10 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise.c: (fetch_attachments), (receive_object): Function to fetch the attachments data into the file calendar store from the camel cache. 2005-01-10 Harish Krishnaswamy * backends/file/e-cal-backend-file.c: (fetch_attachments), (e_cal_backend_file_receive_objects): Function to fetch the attachments data into the file calendar store from the camel cache. 2005-01-10 Chenthill Palanisamy * backends/groupwise/e-cal-backends-groupwise-utils.h: Missed to commit this file before. 2005-01-10 David Trowbridge * backends/weather/e-cal-backend-weather.c: add the city name to the summary field 2005-01-10 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_cal_backend_groupwise_set_attachments_from_comp), (set_properties_from_cal_component), (get_attach_data_from_server), (set_attachments_to_cal_component), (e_gw_item_to_cal_component): Attachment support for Groupwise calendar and task items. (e_cal_backend_groupwise_store_settings): Remove unused variable. * backends/groupwise/e-cal-backend-groupwise.[ch]: (populate_cache), (e_cal_backend_groupwise_finalize), (e_cal_backend_groupwise_open), (e_cal_backend_groupwise_notify_error_code), (e_cal_backend_groupwise_get_local_attachments_store): set the path to the attachment store in the filesystem. * libecal/e-cal.[ch] (e_cal_init), (e_cal_finalize), (set_local_attachment_store), (e_cal_new), (e_cal_get_local_attachment_store): Add a new member to ECal that stores the local attachment store for various backends. 2005-01-08 JP Rosevear * backends/weather/e-cal-backend-weather.c (create_weather): make sure we don't free a static string 2005-01-08 Harish Krishnaswamy * backends/contacts/e-cal-backend-contacts.c: (e_cal_backend_contacts_finalize): destroy the addressbooks hashtable. Partially fixes #68533. * libecal/e-cal-component.[ch] (free_icalcomponent), (scan_attachment), (scan_property), (get_attachment_list), (set_attachment_list), (e_cal_component_get_attachment_list), (e_cal_component_set_attachment_list), (e_cal_component_has_attachments), (e_cal_component_get_num_attachments): add support for handling attach properties in e-cal-components. * libedata-cal/e-cal-backend-sexp.c (e_cal_backend_sexp_match_comp):remove unref on null comp. 2005-01-06 David Trowbridge * backends/weather/*: Import weather calendar backend 2005-01-06 Chenthill Palanisamy * backends/groupwise/e-cal-backends-groupwise-utils.[ch]: Added a new function to set the send options in e sources. (add_send_options_data_to_item): Set the set_sendoptions variable if there are some X-Properties for send options. * backends/groupwise/e-cal-backend-groupwise.c: (cache_init): get the send options settings. 2004-12-24 Rodrigo Moya * backends/file/e-cal-backend-file.c (remove_component): made it work for objects with only detached instances. (remove_object_instance_cb): fixed warning. (e_cal_backend_file_modify_object, e_cal_backend_file_remove_object, e_cal_backend_file_receive_objects): adapted to changes in remove_component. (e_cal_backend_file_remove_object): call remove_component for the CALOBJ_MOD_ALL case, since remove_component takes care of everything now. (cancel_received_object): look for the object in the comp_uid_hash, since we need to pass the ECalBackendFileObject struct to remove_component. 2004-12-23 Rodrigo Moya * libedata-cal/e-data-cal-view.c (impl_EDataCalView_start): removed warnings. * backends/file/e-cal-backend-file.c: changed recurrence hash table to use g_hash_table_new and automatic disposal of key/value pairs. (free_recurrence): removed, not needed now. (free_object): just destroy de recurrences hash table. (add_component): create recurrences hash table with _new_full. (remove_recurrence_cb): changed to a GHRFunc. (remove_component): use g_hash_table_foreach_remove to clear the recurrences hash table. (remove_object_instance_cb, e_cal_backend_file_modify_object, remove_instance): no need to free hash table data here. 2004-12-22 Chenthill Palanisamy Part of merge from offline branch * backends/groupwise/e-cal-backend-groupwise.c : (e_cal_backend_groupwise_open): Check for the property offline_sync in source and display the contents of the calendar. 2004-12-22 Sivaiah Nallagatla Part of merge from offline branch * idl/Evolution-DataServer-Calendar.idl : added new error code OfflineUnavailable 2004-12-22 Sivaiah Nallagatla Part of merge from offline branch * idl/Evolution-DataServer-Calendar.idl : added a new method notifyAuthRequired to cal listener interface * libedata-cal/e-cal-backend.[ch] (e_cal_backend_notify_auth_required): * libedatacal/e-data-cal.[ch] (e_data_cal_notify_auth_required) : methods for backend to notify clients about auth when mode is changed to online * libecal/e-cal-listener.[ch] : implemented notifyAuthRequired interface and add AUTH_REQUIRED signal * libecal/e-cal.c : connect to AUTH_REQUIRED signal of cal listener and call e_cal_open in the singnal call back (open_calendar) : don't call e_password stuff in offline mode * libecal/e-cal-marshal.list : added NONE:NONE to list * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_set_mode) : send auth required notification when mode changes to online 2004-12-22 Sivaiah Nallagatla Part of merge from offline branch * backends/http/e-cal-backend-http.c (e_cal_backend_http_set_mode): When mode is switched from offline to online start time out handler to periodically download the conetnets. Call e_cal_backend_notify only when backend is loaded (e_cal_backend_http_open) : cast the backend object using E_CAL_BACKEND to avoid waring while passing it to e_cal_backend_notify_error 2004-12-22 Chenthill Palanisamy Part of merge from offline branch * backends/http/e-cal-backend-http.c (e_cal_backend_http_open): Do not connect to the url in offline, read only the contents from the cache. (e_cal_backend_http_set_mode): If the calendar moves from online to offline remove the timeout function. 2004-12-22 Chenthill Palanisamy Part of merge from offline branch * backends/groupwise/e-cal-backend-groupwise.c (in_offline): If calendar is in offline remove the connection and the remove the timeout function if they are active, Mark the calendar to be read only. (connect_to_server): This will be called through open method when the calendar changes from offline to online. In that case invoke the timeout functions. (e_cal_backend_groupwise_finalize): Assign zero to the timeout id. (e_cal_backend_groupwise_open): If the calendar is opened in offline mode, show the contents from the cache and mark the calendar as offline. (e_cal_backend_groupwise_set_mode): Removed the connect_to_server function call, it should be called through the open method since password is needed to create a new connection. (e_cal_backend_groupwise_get_freebusy): (e_cal_backend_groupwise_create_object): (e_cal_backend_groupwise_modify_object): (e_cal_backend_groupwise_remove_object): (e_cal_backend_groupwise_receive_objects): (e_cal_backend_groupwise_send_objects): If the Calendar is in Offline mode remove the timeout function and the connection and return an error message. (e_cal_backend_groupwise_init): Initialize the connection to NULL. (get_deltas): IF the calendar is in offline mode, return False. 2004-12-22 Sivaiah Nallagatla Part of merge from offline branch * libedata-cal/e-data-cal-factory.[ch] : new fucntions (e_data_cal_factory_set_backend_mode) : set online/offline mode on all the backends it has created. (set_backend_online_status) : function to set online/offline mode on a backend (impl_CalFactory_getCal) : modified this function to set online/offline mode on the backend after creatng it 2004-12-22 Rodrigo Moya * backends/http/e-cal-backend-http.c (e_cal_backend_http_get_timezone): search timezones in the cache also. (e_cal_backend_http_add_timezone): add the timezones to the cache. * libecal/e-cal-util.c (e_cal_util_construct_instance): removed FIXME comment. 2004-12-21 Rodrigo Moya * backends/file/e-cal-backend-file.c (e_cal_backend_file_remove_object): deal correctly with objects only having detached instances and no master object. 2004-12-20 Anders Carlsson * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_modify_object), (send_object): * backends/http/e-cal-backend-http.c: (e_cal_backend_http_modify_object): * libedata-cal/e-cal-backend-sync.c: (e_cal_backend_sync_modify_object), (_e_cal_backend_modify_object): * libedata-cal/e-cal-backend-sync.h: Add support for passing a modified object from sync backends. 2004-12-18 JP Rosevear Fixes #70127 * backends/http/e-cal-backend-http.c (begin_retrieval_cb): add user agent header 2004-12-15 Rodrigo Moya Merge from recurrences-work-branch * libecal/e-cal.c (open_calendar): added missing calls to e_calendar_remove_op/e_calendar_free_op. (add_instance): enable code to set the recurrence ID on each instance. * libedata-cal/e-data-cal.[ch] (e_data_cal_notify_object_removed): added new argument to have backends send both the object before and after the modification. * libedata-cal/e-cal-backend.[ch] (e_cal_backend_modify_object): pass correct number of arguments to e_cal_backend_notify_object_removed. (match_query_and_notify, e_cal_backend_notify_object_modified): separated the notification logic from e_cal_backend_notify_object_modified. (e_cal_backend_notify_object_removed): added new argument to have backends send both the object before and after the modification. * libedata-cal/e-cal-backend-sync.[ch] (e_cal_backend_sync_remove_object): added a new argument to send the object as it was before being removed. Also, change meaning of 'object' argument to contain the object as it is after being modified, or NULL if it was removed. (_e_cal_backend_remove_object): adapted to change in method arguments and pass correct number of arguments to e_data_cal_notify_object_removed. * backends/contacts/e-cal-backend-contacts.c (contact_record_free): pass correct number of arguments to e_cal_backend_notify_object_removed. * backends/file/e-cal-backend-file.c (notify_removals_cb, e_cal_backend_file_receive_objects): pass correct number of arguments to e_cal_backend_notify_object_removed. (remove_object_instance_cb, e_cal_backend_file_modify_object): adapted to support detached recurrences and THISANDPRIOR/THISANDFUTURE. (e_cal_backend_file_remove_object): adapted to method changes. * backends/groupwise/e-cal-backend-groupwise.c (get_deltas, receive_object): pass correct number of arguments to e_cal_backend_notify_object_removed. (e_cal_backend_groupwise_remove_object): adapted to method changes. * backends/http/e-cal-backend-http.c (notify_and_remove_from_cache): pass correct number of arguments to e_cal_backend_notify_object_removed. (e_cal_backend_http_remove_object): adapted to method changes. 2004-12-15 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (add_send_options_data_to_item), (set_properties_from_cal_component):Added a new local function for reading the properties for send options. * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_get_static_capabilities): Checked for new static capabilities. * libecal/e-cal-util.h: Defined two new static capabilities required for send options. 2004-12-13 Harish Krishnaswamy * libedata-cal/e-cal-backend.c (e_cal_backend_notify_object_removed, e_cal_backend_notify_object_modified, e_cal_backend_notify_object_added ): Remove the unrefs on queries as the get_queries does not ref anymore while returning. 2004-12-09 Rodrigo Moya Fixes #70267 * backends/groupwise/e-cal-backend-groupwise.c (get_deltas): * backends/http/e-cal-backend-groupwise.c (retrieval_done): freeze the cache when doing mass updates to do only one write to disk. 2004-12-09 Harish Krishnamwamy Fixes for various leaks causing memory build-ups in eds. * libecal/e-cal-listener.c (impl_notifyFreeBusy): l->data should be unref'd - not free'd. * libedata-cal/e-cal-backend.c (get_queries): Do not ref the queries while returning them. This is unnecessary. * libedata-cal/e-cal-backend-sexp.c (e_cal_backend_sexp_match_comp) : unref the comp and backend while returning. 2004-12-06 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise-utils.c (e_gw_connection_send_appointment) : Add correct view arguments specific to appointment. 'folders' is not used by appointments. 2004-12-05 Sivaiah Nallagatla * backends/groupwise/e-cal-backend-groupwise-utils.c (e_gw_connection_send_appointment) : Pass view argument while calling e_gw_connection_get_item. 2004-12-02 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise.c: (receive_object): Freed the string variables and unref the components. * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_connection_get_freebusy_info): Need not use strdup here. 2004-11-18 Sivaiah Nallagatla * backends/groupwise/e-cal-backend-groupwise.c (populate_cache) (get_deltas) : added "default" to the view wherever we want to get complete item along with iCalId part of fix for #69624 2004-10-29 Sivaiah Nallagatla * backends/groupwise/e-ca-backend-groupwise.c (cache_init) : remove the set_marker call from the begining of the functions. accidently placed in the last commit 2004-10-29 Sivaiah Nallagatla * backends/groupwise/e-cal-backends-groupwise.c (cache_init) : Read the getQm poll interval from GETQM_TIME_INTERVAL. If not availbale use default value. 2004-10-28 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise.c: Set the CACHE_REFRESH_INTERVAL to 10 mins. 2004-10-28 Rodrigo Moya * libecal/e-cal.[ch] (e_cal_get_objects_for_uid): new function to retrieve objects and detached recurrences for that object. (e_cal_get_object): deal with the backend returning a VCALENDAR object. In that case, just get the first component of the same type we are using. (generate_instances): when we have an UID, use the new function e_cal_get_objects_for_uid, avoiding countless calls to e_cal_get_object_list. * backends/file/e-cal-backend-file.c (e_cal_backend_file_get_object): if we have detached instances, return a VCALENDAR with the master object and any detached instance. 2004-10-15 Chenthill Palanisamy Fixes #67031 * backends/groupwise/e-cal-backends-groupwise-utils.c (e_gw_item_to_cal_component): Set the completed date. For posted tasks set it as the current time. * backends/groupwise/e-cal-backends-groupwise.c (e_cal_backend_groupwise_modify_object): Update the item in the cache after completing the task. 2004-10-14 Rodney Dawes * backends/*/Makefile.am: Add -avoid-version to LDFLAGS for all of the backends 2004-10-14 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas) : removed stray debug code that should not have been there in the first place. 2004-10-12 Harish Krishnaswamy Fixes #64673 and added some performance boosters. * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_connection_get_freebusy_info): Resend free/busy requests to server if there are outstanding users whose information is still pending from the server. Keep trying for 2 minutes (average time for obtaining the f/b information for users outside the POA). * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache): Obtain the calendar items from server Latest First. Update evolution as soon as the items are processed, without waiting for the entire cache to be populated. (get_deltas): remove compiler warning. (cache_init): Use a marker to test the status of cache and obtain all items only for initial population. All subsequent sessions would only fetch the deltas from the server since the last cache modification time. (connect_to_server): Populating the cache moved to a separate thread that does not block the open calls to backend anymore. (e_cal_backend_groupwise_create_object): Fixed a leak. * libedata-cal/e-cal-backend-cache.[ch]: (e_cal_backend_cache_get_keys): Removed unused variable. (e_cal_backend_cache_set_marker), (e_cal_backend_cache_get_marker): Marker accessors to label the cache as populated or not. This helps in determining if all the items are to be loaded from the server or if we should just fetch the deltas. 2004-10-07 JP Rosevear * libecal/e-cal.c (e_cal_new_system_tasks): load the correct type of events 2004-10-06 JP Rosevear Fixes #67513 * libecal/e-cal.c (cal_objects_sent_cb): deep copy the user list data 2004-10-04 Chenthill Palanisamy Fixes #66484 idl/Evolution-DataServer-Calendar.idl (CallStatus): Added an error message "Unknown User". * libecal/e-cal-types.h (ECalendarStatus): Added a enum variable for the same error message * libecal/e-cal-listener.c (convert_status) * libecal/e-cal-view-listener.c (convert_status): Mapped the new error message. * libecal/e-cal.c (e_cal_get_error_message): Return the proper string for the new error message. 2004-10-01 Chenthill Palanisamy Fixes #62868 * e-cal-backend-groupwise-utils.c (e_gw_connection_send_appointment): Send the Connection Status as Ok even if we get an error message from the server for accepting the appointment more than once since it does affect the functionality. * e-cal-backend-groupwise.c (receive_objects): Return the status immediately if the Item has not been modified. Now the Permission Denied error message need not be sent. 2004-09-30 Chris Toshok * libecal/e-cal.c (get_factories): don't look for factories based on the supported_protocol property, since we can't use those anymore with dynamically loaded backends. * libedata-cal/e-data-cal-factory.c (get_backend_factory): rename get_backend_type to this, and return an ECalBackendFactory* instead of a GType. (impl_CalFactory_getCal): change this code to use ECalBackendFactory. (e_data_cal_factory_register_backend): rename from e_data_cal_factory_register_method and remove all the args, just passing an ECalBackendFactory. (e_data_cal_factory_register_backends): register all extensions that subclass from E_TYPE_CAL_BACKEND_FACTORY. * libedata-cal/e-data-cal-factor.h: change prototypes and function names. * libedata-cal/e-data-cal.[ch] (e_data_cal_new): remove the @uri arg, as it's unnecessary. * libedata-cal/e-cal-backend-factory.[ch]: superclass the backend factories must subclass from. * libedata-cal/Makefile.am (libedata_cal_la_SOURCES): add e-cal-backend-factory.c (libedata_calinclude_HEADERS): add e-cal-backend-factory.h * backends/contacts/Makefile.am (extension_LTLIBRARIES): change from noinst_LTLIBRARIES. (libecalbackendcontacts_la_SOURCES): add e-cal-backend-contacts-factory.[ch]. * backends/contacts/e-cal-backend-contacts-factory.[ch]: ECalBackendFactory for the contacts backend. * backends/file/Makefile.am (extension_LTLIBRARIES): change from noinst_LTLIBRARIES. (libecalbackendfile_la_SOURCES): add e-cal-backend-file-factory.[ch]. * backends/file/e-cal-backend-file-factory.[ch]: ECalBackendFactory for the file backend. * backends/groupwise/Makefile.am (extension_LTLIBRARIES): change from noinst_LTLIBRARIES. (libecalbackendgroupwise_la_SOURCES): add e-cal-backend-groupwise-factory.[ch]. * backends/groupwise/e-cal-backend-groupwise-factory.[ch]: ECalBackendFactory for the groupwise backend. * backends/http/Makefile.am (extension_LTLIBRARIES): change from noinst_LTLIBRARIES. (libecalbackendhttp_la_SOURCES): add e-cal-backend-http-factory.[ch]. * backends/http/e-cal-backend-http-factory.[ch]: ECalBackendFactory for the http backend. 2004-09-28 Rodrigo Moya Fixes #66230 * backends/http/e-cal-backend-http.c (retrieval_done): do a more clever update of the cache, so that we correctly notify listeners of updates, additions and removals. 2004-09-24 JP Rosevear Fixes #66383, From David Malcolm * libecal/e-cal.c (e_cal_get_alarms_in_range): return non void values * libecal/e-cal-component.c: kill warnings about struct definitions 2004-09-24 JP Rosevear Fixes #64955, Vincent Noel * libecal/e-cal.c (e_cal_get_alarms_in_range): fix c99-ism 2004-09-23 Rodrigo Moya Fixes #59904 * libecal/e-cal-component.[ch] (e_cal_component_new_from_string): new function to avoid repeating the same code over and over. * libedata-cal/e-data-cal-view.c: changed to keep a list of listeners, not only one. (listener_died_cb): remove the listener from the list of listeners. (impl_EDataCalView_start): see if the query has already been started, and if so, just notify correctly the listeners we need to notify. (e_data_cal_view_init): create hash table for storing the objects we have matching the live query. (e_data_cal_view_set_property): add correctly the listeners to the list. (e_data_cal_view_get_property): return always the first listener. (e_data_cal_view_finalize): free all listeners and cached objects. (add_object_to_cache, remove_object_from_cache): new functions to manage the matched objects cache. (e_data_cal_view_notify_objects_added, e_data_cal_view_notify_objects_modified): add objects to our private cache, and notify all listeners, now that we might have more than one. (e_data_cal_view_notify_objects_removed, e_data_cal_view_notify_progress, e_data_cal_view_notify_done): notify all listeners. (e_data_cal_view_add_listener, e_data_cal_view_get_matched_objects, e_data_cal_view_is_started, e_data_cal_view_is_done, e_data_cal_view_get_done_status): new functions. * libedata-cal/e-data-cal.c: keep a cache of all queries. (impl_Cal_getQuery): first look in the cache of queries. And when creating a new query, add it to the cache. (impl_Cal_getObjectList): use the query cache also. (e_data_cal_finalize): destroy the live queries hash table. (e_data_cal_init): create live queries hash table. 2004-09-23 JP Rosevear * libecal/Makefile.am: build a versioned lib, don't hard code the pkgconfig version * libedata-cal/Makefile.am: ditto * backends/file/Makefile.am: link against the correct library version * backends/http/Makefile.am: ditto * backends/groupwise/Makefile.am: ditto * backends/contacts/Makefile.am: ditto * tests/ecal/Makefile.am: ditto 2004-09-22 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise-utils.[ch]: (e_gw_connection_send_appointment): Allow callers to get the sent item from the server to ensure the iCalId of the component is in sync with the server - even if it had been obtained from a different client via itip. (e_gw_item_to_cal_component) : additional check to ensure icalid is not null in the item, so we would not crash against server instances that may not send this properly. Fixes #61865 * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas) : Replace getDeltasRequest by getQuickMessages calls and compute deltas like adds, modify and deletes. (connect_to_server): Do not recreate cache everytime and use the getQuickMessages to pull in the changes from server. The existing code was a work-around till this fix was in place. (e_cal_backend_groupwise_create_object), (receive_object): Use the modified e_gw_connection_send_appointment calls and update the cache and cal clients appropriately. * libedata-cal/e-cal-backend-cache.[ch]: (e_cal_backend_cache_get_keys): Adding a function that allows to retrieve a list of the keys of all components from the cache. 2004-09-08 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise-utils.c (set_properties_from_cal_component), (e_gw_item_to_cal_component), (e_gw_item_set_changes): Added the support for allday events. 2004-09-08 Chenthill Palanisamy Fixes #65167 * backends/groupwise/e-cal-backend-groupwise.c (connect_to_server): Reload the default zone into the cache after clearing it. * backends/groupwise/e-cal-backend-groupwise-utils.c (set_categories_for_gw_item), e_gw_item_to_cal_component), (set_properties_from_cal_component): replaced the assert statements with If conditions. 2004-09-07 Chenthill Palanisamy Fixes #64685 * backends/groupwise/e-cal-backends-groupwise.c (receive_object): Send the error message as Permission Denied when the attendee tries to accept the appointment more than once since we get the error message as bad parameter from the server. 2004-09-07 Chenthill Palanisamy Fixes 63513 * backends/groupwise/e-cal-backends-groupwise-utils.c (e_gw_connection_send_appointment): Do a case insensitive comparison between the email ids. This is a partial fix. 2004-09-07 Chenthill Palanisamy Fixes #64398 * backends/groupwise/e-cal-backend-groupwise.c (ECalBackendGroupwisePrivate): added an variable to store the timeout ids. (e_cal_backend_groupwise_init): intialize the variable. (e_cal_backend_groupwise_finalize): remove the timeout_add function so that it will not called when backend dies. (get_deltas): It should not crash in any case if handle is NULL. 2004-09-05 Chenthill Palanisamy Fixes 63513 * backends/groupwise/e-cal-backends-groupwise-utils.c (e_gw_connection_send_appointment): Do a case insensitive comparison between the email ids. 2004-09-05 Chenthill Palanisamy * libecal/e-cal-utils.h: defined two macros for the handling the static capabilities for backends which does not support the conversion of a non-recurring appointment to a recurrence appointment and conversion of posted task to group task. * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_get_static_capabilities): Added the two macros in this function. 2004-09-05 Chenthill Palanisamy Fixes #64688 * backends/groupwise/e-cal-backend-groupwise.c (connect_to_server): store the default zone in backend before populating the cache. 2004-08-27 Rodrigo Moya * libedata-cal/e-cal-backend-sexp.c (func_has_alarms_in_range): new function for the regular expression language. (e_cal_backend_sexp_new): added new function to the list of symbols. * libecal/e-cal.c (e_cal_get_alarms_in_range): use the new 'has-alarms-in-range' function. 2004-08-27 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise-utils.c (set_properties_from_cal_component): set the acceptLevel for the appointment as Free if its not Busy. 2004-08-26 Rodrigo Moya * libecal/e-cal-util.c (check_instance): match the prototype expected in icalcomponent_foreach_recurrence. (e_cal_util_remove_instances): fixed warning. 2004-08-25 Frederic Crozat * libecal/e-cal.c: (e_cal_set_default_timezone): Need a return value. 2004-08-25 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise.c (populate_cache): Used a static mutex to avoid the the simulataneous calls from calendar and tasks to ReadCursorRequest which crashes the server. 2004-08-24 Sivaiah Nallagatla * backends/groupwise/e-cal-backend-groupwise.c (populate_cache) : use cursor methods to get items in chunks instead of getting all at once 2004-08-24 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise.c (receive_object): update the client view when a meeting is accepted or declined. 2004-08-23 Chenthill Palanisamy Fixes bug #62857 * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_create_object): return the cal object created for the first component and notify the client for the cal objects of other components created in recurrences. 2004-08-17 Rodrigo Moya Fixes #61782 * backends/file/e-cal-backend-file.c (e_cal_backend_file_create_object): allow iCalendar objects with no UID. 2004-08-17 JP Rosevear * libecal/e-cal.c (e_cal_set_default_timezone): don't set the same time to the server again, avoids a needless server hit 2004-08-17 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise.c (connect_to_server): Clear the cache before populating it. 2004-08-16 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise.c (connect_to_server): Do not get the items from server every time the calendar is loaded, since the cache is already populated. 2004-08-13 Hans Petter Jansson Fixes bug #62655. * backends/contacts/e-cal-backend-contacts.c (source_group_added_cb): If source group's URI is NULL, do nothing, i.e. don't crash. 2004-08-13 Chenthill Palanisamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_item_to_cal_component): handle the BC recipient type with TO and CC. 2004-08-12 Not Zed * libecal/e-cal.c (async_auth_func_cb): removed. (open_async): dont override the auth callback. It is now up to the caller to ensure they're thread-safe and serialised appropriately. 2004-08-12 Rodrigo Moya * libecal/e-cal.c (e_cal_remove_object, e_cal_receive_objects): added missing gtk-doc comments. 2004-08-09 Jeffrey Stedfast Fixes bug #58150 * libecal/e-cal.c (e_cal_activate): init bonobo if it isn't already initialised. (e_cal_new): Call e_cal_activate(). 2004-08-09 Harish Krishnaswamy Fixes #58643 - the gw backend assembles the xgwrecordid to be used for accept/decline requests. * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_connection_send_appointment): use the event and todo type markers while assembling the gwrecordid from the itip message. set flag 'remove' for decline/retract requests to indicate these should be removed from cache. * backends/groupwise/e-cal-backend-groupwise-utils.h: Add parameter to e_gw_connection_send_appointment and define macros GW_EVENT_TYPE_ID and GW_TODO_TYPE_ID. * backends/groupwise/e-cal-backend-groupwise.c: (receive_object): update the cache based on the remove flag set by e_gw_connection_send_appointment. 2004-08-04 Chenthill Palanisamy Fixes #60265 * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_open): Whenever open_method is called get the data from the server and populate the cache. 2004-08-03 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_connection_send_appointment): Add ':' as a separator while appending the container id to the xgwrecordid to generate the item_id. 2004-08-02 Not Zed ** See bug #58642. * libedata-cal/e-data-cal-factory.c (backend_last_client_gone_cb): the table key includes the kidn for some reason. (impl_CalFactory_getCal): store the icalkind in the uri, not the calobjtype. Fix a memory leak. 2004-08-02 Chenthill Palanisamy Fixes #57127 * backends/groupwise/e-cal-backend-groupwise.c: (ECalBackendGroupwisePrivate): Added two hash tables for the category ids and names. (e_cal_backend_groupwise_get_connection), (e_cal_backend_groupwise_get_default_zone), (e_cal_backend_groupwise_get_categories_by_id), (e_cal_backend_groupwise_get_categories_by_name): Added to access the ECalBackendGroupwisePrivate structure. * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_item_new_from_cal_component), (e_gw_item_to_cal_component), (e_gw_connection_create_appointment), (set_properties_from_cal_component): Changed the argument from icaltimezone to ECalBackendGroupwise to access ECalBackendGroupwisePrivate structure for storing categories to calendar components. (set_categories_for_gw_item): Added to store the categories in GW item. (set_categories_changes): Added to update the category changes. 2004-07-30 Harish Krishnaswamy Fixes #59335 * libecal/e-cal.c: (open_calendar): Set the status correctly on all exit points from the function. 2004-07-28 Chenthill Palanisamy Fixes #60265 * backends/groupwise/e-cal-backend-groupwise.c (connect_to_server), (e_cal_backend_groupwise_open): Creates the cache structure after connecting to server and loads the default timezone after populating the cache. 2004-07-26 Harish Krishnaswamy Fixes #57651, #58637 and #58643 * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_connection_send_appointment) : Append the container id to the gwrecordid obtained via ITIP to match the representation in the SOAP interface. (e_gw_item_set_changes): Updates to 'completed' field in the Task is not sticky in the server, when using the modifyRequest. Using a separate completeRequest call to update the same. * backends/groupwise/e-cal-backend-groupwise-utils.h: removed the unused default_zone parameter from e_gw_connection_send_appointment. * backends/groupwise/e-cal-backend-groupwise.c: (get_deltas): return boolean values not the connection status as the caller is not expected to handle it anyway. (sanitize_component): renamed set_container_id function, so it correctly depicts what it does. (e_cal_backend_groupwise_create_object): Make a getItemsRequest to the server to obtain the items while creating recurring events. The original call returns only the item ids and the client requires the icalids too to keep the cache valid. (e_cal_backend_groupwise_modify_object) : Use the completeRequest method to update task completion. (receive_object) : The call to e_gw_connection_send_appointment updated to reflect the change in its signature. (e_cal_backend_groupwise_receive_objects): set the method on the subcomp created before passing it over to receive_object. 2004-07-23 Chenthill Palanisamy Fixes #60463 * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_connection_get_freebusy_info): Added a timezone argument and used it to convert the freebusy times to default timezone. (Have added the patch again since it was inadvertently removed from by some commit) 2004-07-15 JP Rosevear Fixes #58748 * backends/contacts/e-cal-backend-contacts.c (cdate_to_icaltime): explicitly set is_utc and set zone to NULL (create_component): use NULL instead of 0 (e_cal_backend_contacts_set_default_timezone): fix logic typo so that the default zone is set correctly 2004-07-15 Rodrigo Moya Fixes #57142 * libecal/e-cal-component.c (ensure_alarm_properties_cb): add the X-EVOLUTION-NEEDS-DESCRIPTION property to the alarms we create with no description, and remove the property from the alarms with a description already. (e_cal_component_set_summary, set_alarm_description_cb): set the description on the alarms when the summary changes and remove the above property when we set a valid description. 2004-07-14 Chenthill Palanisamy Fixes #60344 * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_internal_get_timezone): Send the timezone present in tzid instead of sending UTC timezone. 2004-07-12 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_cal_component_get_gw_id): Access method for getting the XGWRECORDID property from the calendar component. (set_properties_from_cal_component): Range of priority value HIGH extended to include values 1 and 2. The X-EVOLUTION-GROUPWISE-ID is now referred as XGWRECORDID for consistency with the ITIP messages. (e_gw_item_to_cal_component) : Absence of due_date does not invalidate the task component. Fixes #60926. (e_gw_connection_send_appointment),(e_gw_connection_create_appointment): Implemented. (e_gw_connection_get_freebusy_info): (e_gw_item_set_changes): Fixed compiler warnings. * backends/groupwise/e-cal-backend-groupwise-utils.h: Declarations for added functions. * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache) : Removed unused variables. (set_container_id): Extracted a function out of the code as it is used twice. (e_cal_backend_groupwise_create_object): Handle changes in the SOAP interface. The server now returns a list of uids. This is to allow creation of recurring calendar events. (e_cal_backend_groupwise_modify_object): Fix some leaks. (e_cal_backend_groupwise_remove_object), (receive_object), (send_object), (e_cal_backend_groupwise_send_objects): Use the newly created functions for handling group calendar items. 2004-07-12 Sivaiah Nallagatla * backends/groupwise/e-cal-backend-groupwise.c (form_uri) : read "use_ssl" property from the ESource and form the uri accordingly (connect_to_server) : when "use_ssl" is "when-possible" try with https first and then with http if that fails 2004-06-28 Chenthill Palanisamy Fixes #60463 * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_connection_get_freebusy_info): Added a timezone argument and used it to convert the freebusy times to default timezone. 2004-06-15 Harish Krishnaswamy Fixes #59352 * backends/groupwise/e-cal-backend-groupwise-utils.c: (set_properties_from_cal_component), (e_gw_item_to_cal_component): Handle the organizer property of ecal and allow storing to and from e-gw-item. 2004-06-14 Rodrigo Moya Fixes #57088 * backends/contacts/e-cal-backend-contacts.c (source_group_added_cb): only add sources from local addressbook backends. 2004-06-14 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (get_recur_instance), (resolve_tzid_cb) : add support for recurrences in events. (set_properties_from_cal_component), (e_gw_item_to_cal_component), (e_gw_item_set_changes): Recipient_list handling code is now common to both events and todos. * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache): Add recipientStatus to the view element. (receive_object): Send found_comp as argument to modify_object. 2004-06-11 Rodrigo Moya * libedata-cal/e-cal-backend-sync.c (_e_cal_backend_remove_object): if the deletion is successful, check if the object still exists, in which case it means we removed an instance of a recurring event. Fixed memory leak also. * backends/file/e-cal-backend-file.c (e_cal_backend_file_remove_object): return the old_object output argument in all cases. 2004-06-02 Rodrigo Moya * libecal/e-cal.c (e_cal_generate_instances, e_cal_generate_instances_for_object, e_cal_get_alarms_in_range, e_cal_get_alarms_for_object): only allow values from 0 to time_t's maximum value. * libecal/e-cal.h: added missing prototype. 2004-06-01 Rodrigo Moya * libecal/e-cal.c (e_cal_generate_instances): moved all the logic... (generate_instances): ...here, so that we can specify a UID to generate instances only for that UID. (e_cal_generate_instances_for_object): use generate_instances function and specify the UID of the object. * libedata-cal/e-cal-backend-sexp.c (e_cal_backend_sexp_match_comp): added checks for arguments. 2004-06-01 Rodrigo Moya * libecal/e-cal.c (e_cal_generate_instances_for_object, e_cal_generate_instances): allow -1 for the start and end times. (load_static_capabilities, add_instance): fixed warnings. 2004-06-01 JP Rosevear * libecal/*: revert accidental commit 2004-05-28 JP Rosevear Fixes #55524 * backends/file/e-cal-backend-file.c (e_cal_backend_file_receive_objects): don't sanitize the component, we already check for valid timezones and the zones aren't merged in yet anyhow 2004-05-28 Rodrigo Moya * libedata-cal/e-data-cal-factory.c (backend_last_client_gone_cb): disconnect from signals on the removed backend. 2004-05-28 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (e_gw_item_to_cal_component): Throw in null checks on mandatory fields to bypass crashes in e-d-s while the server gets fixed. 2004-05-27 Rodrigo Moya * backends/http/e-cal-backend-http.c (retrieval_done): make sure we clean up the cache, or old events will always be kept. 2004-05-27 Rodrigo Moya Fixes #58197 * libedata-cal/e-cal-backend.c (e_cal_backend_create_object, e_cal_backend_modify_object): removed assertions on method implementations, since backends can perfectly have unimplemented methods. Instead, notify the error. 2004-05-25 Sivaiah Nallagatla * backends/groupwise/e-cal-backends-groupwise.c (form_uri) : new function to form the uri required for e_gw_connection (connect_to_server) : use form_uri instead of convert_uri 2004-05-25 Harish Krishnaswamy Fixes GW portion of #57218 and #54280 * backends/groupwise/e-cal-backend-groupwise-utils.c: (start_freebusy_session): removed FIXME comments (the code had been fixed much earlier). (e_gw_item_set_changes):use the SET_DELTA macro to get accept_level changes. * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_modify_object), (e_cal_backend_groupwise_remove_object), (e_cal_backend_groupwise_send_objects): set return arguments correctly. and removed dead code in remove_object. 2004-05-25 Rodrigo Moya * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_modify_object): return ObjectNotFound error instead of InvalidObject when the object is not found. 2004-05-22 Rodrigo Moya * backends/file/e-cal-backend-file.c (add_component): make sure we process correctly the detached instances. (match_object_sexp): deal with hash table entries not containing a full_object (ie, detached recurrences). 2004-05-21 JP Rosevear * backends/file/e-cal-backend-file.c (e_cal_backend_file_receive_objects): make sure we only handle the type of objects the backend is set up for plus timezones; directly add the objects rather than using other functions 2004-05-19 Chris Toshok * backends/contacts/e-cal-backend-contacts.c (book_record_new): use new e_book_new/e_book_open apis. 2004-05-19 Rodrigo Moya Removes 100s of error dialogs as reported in #54211 * backends/http/e-cal-backend-http.c: added a flag to know when the backend has been opened. (reload_cb): set the "opened" flag to TRUE when we reload. (retrieval_done): only notify errors when opening the backend, not on each reload, or we'll get many error message dialogs when left running for a few hours. 2004-05-18 Harish Krishnaswamy Fixes #56320 and related timezone issues. Convert datetime from the Groupwise string format between icaltime directly w/o using time_t structures. * backends/groupwise/e-cal-backend-groupwise-utils.c: (set_properties_from_cal_component), (e_gw_item_new_from_cal_component), (e_gw_item_to_cal_component), (e_gw_connection_send_appointment), (e_gw_item_set_changes): use the default_timezone info while performing the conversions. * backends/groupwise/e-cal-backend-groupwise-utils.h: * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache), (get_deltas), (connect_to_server), (e_cal_backend_groupwise_finalize), (e_cal_backend_groupwise_open), (e_cal_backend_groupwise_add_timezone): Add timezone to the cache and allow evolution to set the default timezone. (e_cal_backend_groupwise_set_default_timezone), (e_cal_backend_groupwise_create_object), (e_cal_backend_groupwise_modify_object), (receive_object), (send_object), (e_cal_backend_groupwise_init): * libedata-cal/e-cal-backend-cache.c: (e_cal_backend_cache_put_default_timezone), (e_cal_backend_cache_get_default_timezone): Store default timezone information in the cache so that eds remembers the client timezone information while populating the cache in the next session. Since the cache population happens while the calendar is still loading, evolution would not have had a chance to set the timezone yet. * libedata-cal/e-cal-backend-cache.h: Added get/put functions for default timezone. 2004-05-18 Rodrigo Moya * libedata-cal/e-cal-backend-sexp.c (func_occur_in_time_range): always use a valid timezone. * libecal/e-cal-recur.c (cal_object_time_from_time): don't use invalid timezones. * libecal/e-cal.c (e_cal_generate_instances): make sure we always have a default timezone. 2004-05-17 Rodney Dawes * libecal/Makefile.am (libecal_la_LIBADD): * libedata-cal/Makefile.am (libedata_cal_la_LIBADD): Add $(EVOLUTION_CALENDAR_LIBS) to link to all the right dependencies so that the mono bindings will work correctly Fixes #58615 2004-05-17 Rodrigo Moya Fixes #51412 * backends/file/e-cal-backend-file.c (remove_instance): re-add the modified objects to the top-level icalcomponent after removing instances. (e_cal_backend_file_remove_object): manage the CALOBJ_MOD_THIS case for an event with no RECURRENCE-ID. 2004-05-14 Rodrigo Moya Fixes #56870 * libedata-cal/e-cal-backend-sync.c (e_cal_backend_sync_create_object, e_cal_backend_sync_modify_object, e_cal_backend_sync_remove_object, e_cal_backend_sync_discard_alarm, e_cal_backend_sync_receive_objects, e_cal_backend_sync_send_objects): don't g_assert if the method is not implemented on the underlying backend, just return an UnsupportedMethod error. 2004-05-14 Rodrigo Moya * libedata-cal/e-cal-backend-sexp.c (e_cal_backend_sexp_func_make_time): added extra check for function arguments. * libedata-cal/e-cal-backend-cache.c (e_cal_backend_cache_put_timezone): added missing implementation from recurreces-work-branch. * libecal/e-cal-recur.c (e_cal_recur_generate_instances_of_rule): use the default timezone if we can't get timezones for the start and end dates. 2004-05-13 Rodrigo Moya Fixes #54094 * backends/file/e-cal-backend-file.c (e_cal_backend_file_modify_object): deal correctly with CALOBJ_MOD_THIS for master objects. 2004-05-12 Rodrigo Moya * libecal/e-cal.c (e_cal_generate_instances): fixed gtk-doc comments, and process correctly detached instances. (e_cal_generate_instances_for_object): new function. (e_cal_set_default_timezone): set the internal default timezone when the call to the backend is successful. (process_detached_instances): process correctly the detached instances. 2004-05-12 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (set_properties_from_cal_component), (e_gw_item_to_cal_component), (e_gw_connection_get_freebusy_info), (e_gw_item_set_changes): Add implementation for modification of objects. * backends/groupwise/e-cal-backend-groupwise-utils.h: Add declaration for e_gw_item_set_changes. * backends/groupwise/e-cal-backend-groupwise.c: (e_cal_backend_groupwise_set_default_timezone): Allow evo to set the timezone in the groupwise backend. (e_cal_backend_groupwise_modify_object): Modify implementation to use modifyItemRequest rather than a sendItem. 2004-05-07 JP Rosevear Fixes #57908 * libecal/e-cal-component.c (e_cal_component_set_organizer): prevent double frees (e_cal_component_set_organizer): ditto (e_cal_component_set_summary): ditto 2004-05-06 Harish Krishnaswamy * libecal/e-cal.c: (load_static_capabilities): assign capabilities to ecal->capabilities so that it need not be computed repeatedly. * backends/groupwise/e-cal-backend-groupwise.c: (populate_cache) : added message to view element to recieve message bodies as plain text (default). (connect_to_server) : the Tasks folder is also Calendar and not Checklist in GW server. (e_cal_backend_groupwise_get_static_capabilities) : Added CAL_STATIC_CAPABILITY_SAVE_SCHEDULES. 2004-05-04 Harish Krishnaswamy * backends/groupwise/e-cal-backend-groupwise-utils.c: (set_properties_from_cal_component), (e_gw_item_new_from_cal_component), (e_gw_item_to_cal_component): Patch the FIXMEs in the code handling recipient_list and message bodies in events. This also resolves #57204 and 57883. 2004-05-03 William Jon McCann * libecal/e-cal-time-util.h: Add missing G_BEGIN_DECLS and G_END_DECLS 2004-05-04 Harish Krishnaswamy Fixes #55922 * libedata-cal/e-data-cal-factory.c: (impl_CalFactory_getCal): Hash the backends based on the uri 'and' the type (Both calendar and tasks for GW share the same uri but need different e-data-cal instances. 2004-05-03 JP Rosevear Partial fix for #57218 * libecal/e-cal.c (cal_objects_sent_cb): copy the object string (e_cal_get_default_object): check the status explicitly (e_cal_get_object): ditto (e_cal_get_timezone): ditto (e_cal_send_objects): parse the string here so we can handle bad parsing properly * libecal/e-cal-marshal.list: replace marshaller signature * libecal/e-cal-listener.h: update signal proto * libecal/e-cal-listener.c (impl_notifyObjectsSent): send back just the text like other similar routines (e_cal_listener_class_init): send back a string as the third arg in the send_objects signal 2004-04-30 Dan Winship * libecal/e-cal-component.c (get_attendee_list): Fill in some default values to avoid libical assertions later. Also, fix some really awful cut+pastos 2004-04-28 JP Rosevear * tests/ecal/test-search.c: something to run searches with for test purposes * tests/ecal/Makefile.am: build test search 2004-04-28 JP Rosevear Fixes #57080 * libedata-cal/e-cal-backend.c (e_cal_backend_notify_object_modified): make sure the item was actually in the query before so we don't send bogus removes 2004-04-27 Harish Krishnaswamy Fixes #56535 * backends/groupwise/e-cal-backend-groupwise-utils.c: (set_properties_from_cal_component), (e_gw_item_to_cal_component): Added support for saving Alarms in the GW server as well as read the alarm information during retrieval. 2004-04-23 Jeffrey Stedfast * libedata-cal/e-data-cal.c (e_data_cal_notify_changes): Fixed a c/p bug. Don't call notifyDefaultTimezoneSet, we want to notifyChanges! Took me long enough to track this little bugger down. 2004-04-21 Jeffrey Stedfast * backends/file/e-cal-backend-file.c (e_cal_backend_file_receive_objects): Pass the address of calobj to file_create_object(). (e_cal_backend_file_compute_changes): "Gracefully" handle a NULL return from e_xmlhash_new(). 2004-04-20 JP Rosevear * libecal/e-cal.c (open_async): emit the open signal in an idle loop (async_signal_idle_cb): emit the signal and free the data 2004-04-16 Harish Krishnaswamy Fixes #55802 * libecal/e-cal.c: (open_calendar): Create and lock op mutex and unlock ecal before attempting to authenticate. (open_async, async_auth_idle_cb,async_auth_func_cb): implement async authentication to calendar. 2004-04-15 JP Rosevear * libecal/e-cal.c (e_cal_add_timezone): do a little more sanity checking on what we send 2004-04-12 Sarfraaz Ahmed Fixes #56517 * libecal/e-cal.c (e_cal_add_timezone): Added a check for icalcomponent structure. Return FALSE if icalcomponent is NULL. 2004-04-12 Harish K Fixes #53926 * backends/groupwise/e-cal-backend-groupwise-utils.c (e_gw_item_to_cal_component) : set the tzid to "UTC" while setting the dueDate. 2004-04-08 Rodrigo Moya * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_get_static_capabilities): add the ONE_ALARM_ONLY static capability. 2004-04-06 Harish K Fixes #55169 * backends/groupwise/e-cal-backend-groupwise-utils.c (e_gw_connection_get_freebusy_info) : Use icalproperty to add free/busy data to ECalComponent. 2004-04-05 Rodrigo Moya * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_remove_object): Use correct types for e_cal_backend_groupwise_get_object's return value. 2004-04-03 JP Rosevear Fixes #56416 * backends/contacts/e-cal-backend-contacts.c (e_cal_backend_contacts_get_timezone): implement (e_cal_backend_contacts_add_timezone): ditto (e_cal_backend_contacts_set_default_timezone): ditto (free_zone): free a timezone (e_cal_backend_contacts_finalize): destroy the zones hash table (e_cal_backend_contacts_class_init): add new method implementations (e_cal_backend_contacts_init): set up zones hash table 2004-04-02 Rodrigo Moya Fixes #51412 * backends/file/e-cal-backend-file.c (e_cal_backend_file_remove_object): support being called with CALOBJ_MOD_THIS on the top level component. 2004-04-02 Rodrigo Moya Fixes #55719 * backends/groupwise/e-cal-backend-groupwise.c (connect_to_server): use correct type for populate_cache's return value. (e_cal_backend_groupwise_set_mode): use correct type for connect_to_server's return value. 2004-03-30 JP Rosevear * backends/file/e-cal-backend-file.c: allow debugging code to be turned on and off easily * backends/http/e-cal-backend-http.c: ditto 2004-03-31 JP Rosevear Fixes #56111 * backends/contacts/e-cal-backend-contacts.c (create_component): take a uid for the icalcomp (create_birthday): create a uid from the contact uid and a birthday designator (create_anniversary): ditto for anniversary (e_cal_backend_contacts_get_cal_address): set the address to NULL when returning success (e_cal_backend_contacts_get_ldap_attribute): ditto for the attribute (e_cal_backend_contacts_remove): can't remove a read only calendar (e_cal_backend_contacts_get_object): implement 2004-03-31 JP Rosevear Fixes #54713 * libecal/e-cal.c (e_cal_get_object): only try to parse the string if the status is good (e_cal_get_timezone): ditto (e_cal_get_default_object): ditto 2004-03-29 Rodrigo Moya * libecal/e-cal.c (e_cal_generate_instances): added support for dealing with detached instances. (process_detached_instances): replace all generated instances with the detached ones. 2004-03-29 Harish K * backends/groupwise/e-cal-backend-utils.c (start_freebusy_session) : send UTC time to server instead of floating time. remove namespaces to elements in request messages. (e_gw_connection_get_freebusy_info) :send f/b information thro' ECalComponentAttendee structure -not ECalComponentOrganizer. 2004-03-26 JP Rosevear * libecal/e-cal.h: add proto * libecal/e-cal.c (e_cal_get_source_type): accessor 2004-03-26 Rodrigo Moya * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_create_object): replace the inbox container ID in the ID returned by sendItemResponse with our container ID. (e_cal_backend_groupwise_remove_object): if the object does not have the GW server ID, use the iCalID property to remove it. 2004-03-26 Rodrigo Moya * backends/groupwise/e-cal-backend-groupwise-utils.c (e_gw_connection_send_appointment): set the container ID on the EGwItem returned by e_gw_item_new_from_cal_component. 2004-03-25 William Jon McCann * backends/http/e-cal-backend-http.c (retrieval_done): (e_cal_backend_http_get_default_object): use the same component kind as the backend. 2004-03-25 Rodrigo Moya * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_create_object): add the X-EVOLUTION-GROUPWISE-ID property to the newly-created component. 2004-03-25 Rodrigo Moya * libedata-cal/e-cal-backend-sync.[ch] (e_cal_backend_sync_create_object): made the 'calobj' argument to be inout, so that the caller gets the modified component, not the original one sent to the backend. (_e_cal_backend_sync_create_object): ditto, and notify listeners with the modified calobj. * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_create_object): * backends/file/e-cal-backend-file.c (e_cal_backend_file_create_object): adapted to changes in ECalBackendSync, and return the modified object to the caller. 2004-03-22 Rodrigo Moya * backends/groupwise/e-cal-backend-groupwise-utils.[ch] (e_gw_connection_send_appointment): added a 'id' argument, to be passed to e_gw_connection_send_item. * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_create_object, e_cal_backend_groupwise_modify_object, send_object): added extra argument to e_gw_connection_send_appointment. 2004-03-19 Rodrigo Moya * backends/groupwise/e-cal-backend-groupwise.[ch] (e_cal_backend_groupwise_notify_error_code): new function. (populate_cache, get_deltas, connect_to_server, e_cal_backend_groupwise_open): notify clients of any error. 2004-03-19 Rodrigo Moya * backends/groupwise/e-cal-backend-groupwise-utils.c (start_freebusy_session): don't use the "types:" prefix for the SOAP element. 2004-03-19 Rodrigo Moya * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_remove_object): remove the object from the cache in the remote case also. 2004-03-19 Rodrigo Moya * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_remove_object): if we don't find the X-EVOLUTION-GROUPWISE-ID property, the object didn't come from the server, so don't try to remove it. 2004-03-19 Rodrigo Moya * libedata-cal/e-cal-backend-cache.[ch] (e_cal_backend_cache_get_timezone, e_cal_backend_cache_put_timezone, e_cal_backend_cache_remove_timezone): new functions to support timezones in the cache. (e_cal_backend_cache_get_components): only append to the returned list the VEVENT's and VTODO's components. (e_cal_backend_cache_init): create a hash table to store all the icaltimezone objects we create in e_cal_backend_cache_get_timezone. (e_cal_backend_cache_finalize): free the timezones hash table. * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_remove_object): remove object based on the Groupwise item ID, not the iCalendar ID. 2004-03-18 JP Rosevear * backends/groupwise/e-cal-backend-groupwise-utils.c (e_gw_connection_get_freebusy_info): send back "freeBusySessionId" rather than "session" 2004-03-18 JP Rosevear * backends/groupwise/e-cal-backend-groupwise-utils.c (start_freebusy_session): put the xml prefixes back in, they weren't the issue 2004-03-18 Rodrigo Moya * backends/groupwise/e-cal-backend-groupwise-utils.c (set_properties_from_cal_component): set the GW item ID based on the X-EVOLUTION-GROUPWISE-ID property. (e_gw_item_to_cal_component): add the above property to the created ECalComponent, and use our iCalendar ID to set the "iCalId" property. 2004-03-18 JP Rosevear * backends/groupwise/e-cal-backend-groupwise-utils.c (start_freebusy_session): remove xml prefixes 2004-03-18 JP Rosevear * backends/groupwise/e-cal-backend-groupwise-utils.c (start_freebusy_session): list the the addresses in the attribute 2004-03-18 JP Rosevear * libecal/e-cal.c: add e_return_error macro to fail more gracefully as per ebook 2004-03-18 Rodrigo Moya * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_create_object, e_cal_backend_groupwise_modify_object): don't update the cache when we get an error from the server. 2004-03-17 Rodrigo Moya Fixes #55719 * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_get_cal_address): deal with online/offline modes. (e_cal_backend_groupwise_finalize): free new private field. 2004-03-16 Harish K * libecal/e-cal.c : Move open_calendar call into async_idle_cb and rearrange mutex lock/unlock sequences. This fixes the calendar authentication problems observed while using the Password Dialog. 2004-03-15 Rodrigo Moya * libedata-cal/e-cal-backend-sexp.c (func_occur_in_time_range): expand recurrences for the given time range to be sure that we return the correct events. (check_instance_time_range_cb): callback to check the expanded recurrences. 2004-03-15 Rodney Dawes * libecal/libecal-1.0.pc.in: * libedata-cal/libedata-cal-1.0.pc.in: Add @LIBBONOBO_REQUIRED@ for the libbonobo dependency 2004-03-14 Harish K * calendar/backends/groupwise/e-cal-backend-groupwise.c : Update calls to e_gw_connection_get_items with the new prototype. 2004-03-11 Rodrigo Moya * libedata-cal/e-data-cal.c (e_data_cal_notify_objects_sent): guard against sending NULL strings to CORBA. * backends/contacts/e-cal-backend-contacts.c (e_cal_backend_contacts_receive_objects, e_cal_backend_contacts_send_objects): return PermissionDenied error. 2004-03-09 JP Rosevear Fixes #55389 * backends/file/e-cal-backend-file.c (e_cal_backend_file_send_objects): return the calendar object properly 2004-03-09 Rodrigo Moya * libecal/e-cal.c (e_cal_resolve_tzid): don't default to UTC timezone, the default timezone is used by the timezone look up code. 2004-03-09 Thomas Mirlacher Fixes #53885 * backends/contacts/e-cal-backend-contacts.c: intermediate fix for recurring entries starting before 1970 set the dtend for making valid whole-day entries 2004-03-05 Rodrigo Moya Fixes #54280 * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_send_objects): added missing implementation. 2004-03-05 Harish K * 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 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 * 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 * tests/ecal/test-ecal.c: make EXPECTED a macro so it compiles 2004-02-26 Harish K * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * backends/groupwise/e-gw-connection.c (parse_response_status): "Status" is now "status". 2004-02-04 JP Rosevear * 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 * 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 * 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 * libecal/e-cal.c (open_async): g_object_unref the ECal, not the ECalAsyncData structure. 2004-02-03 Rodney Dawes * 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 * 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 * 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 * 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 * backends/groupwise/e-gw-connection.[ch] (parse_response_status): added new error code. 2004-02-02 Rodrigo Moya * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * backends/groupwise/e-gw-item.c (e_gw_item_append_to_soap_message): write all properties to the message. 2004-01-29 Rodrigo Moya * 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 * backends/groupwise/e-gw-item.c: added missing header. 2004-01-28 Rodrigo Moya Fixes #53465 * libecal/e-cal.c (e_cal_get_error_message): fixed typo. 2004-01-28 Rodrigo Moya * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * backends/groupwise/e-gw-connection.c (get_e_cal_component_from_soap_parameter): description is not const 2004-01-27 Rodrigo Moya * 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 * 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 * 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 * 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 * 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 * 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 * backends/file/e-cal-backend-file.c (e_cal_backend_file_remove): use the full path when removing files. 2004-01-21 JP Rosevear * libecal/Makefile.am: don't build client test 2004-01-21 JP Rosevear * 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 * 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 * 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 * backends/groupwise/e-cal-backend-groupwise.c (e_cal_backend_groupwise_open): added missing g_mutex_unlock call. 2004-01-21 Rodrigo Moya * 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 * backends/file/e-cal-backend-file.c (create_cal): create directory tree to contain the calendar. 2004-01-21 Rodrigo Moya * 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 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 * 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 * 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 * 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 * 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 * backends/file/e-cal-backend-file.c (save): remove test bits 2004-01-16 JP Rosevear * libecal/e-cal.c (categories_changed_idle_cb): remove debug statement 2004-01-16 Rodrigo Moya * 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 * libecal/e-cal.c: name space the idle data structs properly 2004-01-16 JP Rosevear * 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 * libedata-cal/e-cal-backend-sexp.c (func_uid): Error message string fix. 2004-01-16 Rodrigo Moya * 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 * 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 * libecal/e-cal-listener.c: (impl_notifyCalSetMode), (impl_notifyErrorOccurred), (impl_notifyCategoriesChanged): Remove debugging spew. 2004-01-15 Radek Doulik * 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 * 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 * 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 * backends/groupwise/e-gw-connection.c (get_e_cal_component_from_soap_parameter): remove C99 declaration 2004-01-13 Rodrigo Moya * 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 * 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 * 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 * 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 * 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 * 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 * 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 * backends/http/e-cal-backend-http.c (uri_to_cache_dir): fixed leak. 2004-01-10 Rodrigo Moya * 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 * 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 * 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 * 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 * 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 * libecal/e-cal.c (convert_type): removed g_assert_not_reached. 2004-01-07 Rodrigo Moya * 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 * libedata-cal/Makefile.am: remove DISABLE_DEPRECATED flags * libecal/Makefile.am: ditto 2004-01-07 Rodrigo Moya * 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 * 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 * 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 * 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 * 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 * 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 * 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 * libedata-cal/e-cal-backend-sexp.c: Generalize some strings. 2003-12-24 Rodrigo Moya * backends/groupwise/e-gw-connection.c (e_gw_connection_get_items): fixed warning. 2003-12-24 Rodrigo Moya * backends/groupwise/e-gw-message.[ch] (e_gw_message_new_with_header): added 'session_id' argument, to add the
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 * 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 * libedata-cal/e-cal-backend-sexp.c (func_has_alarms): removed useless 'has_to_have_alarms' variable. 2003-12-22 JP Rosevear * 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 * 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 * 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 * libecal/e-cal.c (e_cal_get_alarms_in_range): create a valid sexp 2003-12-19 Rodrigo Moya * libecal/e-cal.[ch] (e_cal_class_init): removed 'forget_password' signal, since it's not used anywhere. 2003-12-19 Rodrigo Moya * 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 * 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 * backends/groupwise/e-gw-connection.c (e_gw_connection_init): create a synchronous session 2003-12-17 Hans Petter Jansson * 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 * 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 * 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 * 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 * 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 * 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 Fixes #52218 2003-12-16 Rodrigo Moya * 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 * 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 * 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 * 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 * 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 * 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 * libedata-cal/e-data-cal.c (e_data_cal_notify_free_busy): call the correct notification method 2003-12-13 Rodrigo Moya * backends/groupwise/Makefile.am: set the correct G_LOG_DOMAIN. 2003-12-12 Rodrigo Moya * backends/groupwise/e-gw-message.c (e_gw_message_new_with_header): added SOAPAction header to the request. 2003-12-12 Rodrigo Moya * 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 * backends/groupwise/e-gw-message.c (setup_debug): fixed typo. * backends/groupwise/Makefile.am: use $DEBUG_CFLAGS. 2003-12-12 Rodrigo Moya * 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 Fixes #52013 * backends/file/e-cal-backend-file.c (create_user_free_busy): pass the TIME arguments correctly. 2003-12-10 Rodrigo Moya * 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 * 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 * 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 * 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 * 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 * libecal/e-cal-listener.c (impl_notifyStaticCapabilities): actually emit the capabilities string Fixes #51747 2003-12-09 Rodrigo Moya * 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 * 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 * libedata-cal/e-cal-backend-cache.[ch]: use EFileCache instead of ECache. 2003-12-08 Rodrigo Moya * 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 * 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 * libecal/e-cal.c (get_factories): use the versioned repo id 2003-12-04 Rodrigo Moya * 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 * backends/groupwise/create-account.c: changed to use a main loop, or saving to GConf seems not to work ?? 2003-12-04 Rodrigo Moya * backends/groupwise/create-account.c (add_account): add the source to the group. 2003-12-04 Rodrigo Moya * backends/groupwise/create-account.c: make it use a username also. 2003-12-04 Rodrigo Moya * 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 * libedata-cal/e-cal-backend-sexp.c: added has-recurrences sexp function 2003-12-03 Rodrigo Moya * 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 * libecal/e-cal.c (e_cal_generate_instances): Fix query and get object list as components. 2003-12-01 Rodrigo Moya * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * libecal/e-cal.h: remove dead enums 2003-11-10 JP Rosevear * 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 * 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 * 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 * libecal/Makefile.am (libecal_la_LDFLAGS): Remove -no-undefined * libedata-cal/Makefile.am (libedata_cal_la_LDFLAGS): Likewise 2003-11-06 * 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 * libecal/e-cal.c: replace e_mutex stuff with gthread stuff 2003-11-06 JP Rosevear * 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 * rename libedatacal to libedata-cal 2003-11-05 JP Rosvear * 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 * 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 * libedatacal/e-cal-backend-sexp.c: removed GAL dependency. 2003-11-04 JP Rosevear * libedatacal/e-data-cal-factory.c: use properly name spaced default id 2003-11-04 JP Rosevear * 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 * 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 * 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.