aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/pcs/cal-backend-file.c
Commit message (Collapse)AuthorAgeFilesLines
* prepend to both changes and change_ids when different and mark asJP Rosevear2001-04-121-2/+2
| | | | | | | | | | 2001-04-11 JP Rosevear <jpr@ximian.com> * pcs/cal-backend-file.c (cal_backend_file_compute_changes): prepend to both changes and change_ids when different and mark as modified, not added svn path=/trunk/; revision=9246
* Engine for live queries to calendars. A query object watches a CalBackendFederico Mena Quintero2001-03-301-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-29 Federico Mena Quintero <federico@ximian.com> Engine for live queries to calendars. A query object watches a CalBackend in the PCS and is otherwise completely separate from it; backends need to do nothing to support live queries. Right now we have the following functions: (get-vtype) Returns a string indicating the type of component (VEVENT, VTODO, VJOURNAL, VFREEBUSY, VTIMEZONE, UNKNOWN). (occur-in-time-range? START END) START - int, time_t start of the time range END - int, time_t end of the time range Returns a boolean indicating whether the component has any occurrences in the specified time range. * idl/evolution-calendar.idl (Cal::getQuery): New method that initiates a live query. (Query): New interface for a handle to a live query. (QueryListener): New interface for a listener to changes in a live query. * pcs/query.[ch]: New files with the live query engine. * pcs/cal-backend.h (CalBackendClass): Added notification signals so that the query system can catch them. (CalBackendClass): New virtual method ::get_load_state(). * pcs/cal-backend.c (cal_backend_opened): (cal_backend_obj_updated): (cal_backend_obj_updated): New functions to emit the notification signals; to be used only by backend implementations. (cal_backend_get_load_state): New function. * pcs/cal-backend-file.c (notify_update): Call cal_backend_obj_updated(). (notify_remove): Call call_backend_obj_removed(). (open_cal): Free the icalcomp if it is not of the correct type. (cal_backend_file_get_load_state): Implemented new method. * pcs/cal-backend-db.c (cal_backend_db_update_object): Call cal_backend_obj_updated(). (cal_backend_db_remove_object): Call cal_backend_obj_removed(). (cal_backend_db_get_load_state): Implemented new method. * pcs/cal.c (Cal_get_query): Implementation of the ::getQuery() method. svn path=/trunk/; revision=9013
* Move the get_change code hereJP Rosevear2001-02-091-2/+142
| | | | | | | | | | | | | | | | | 2001-02-08 JP Rosevear <jpr@ximian.com> * pcs/cal-backend-file.c: Move the get_change code here * pcs/cal-backend.c: Remove get_changes related stuff and implement by calling the virtual method instead * pcs/cal-backend.h: New virtual method. * pcs/cal-backend-file.c (compute_alarm_range): Use icaldurationtype_as_int (replace _as_timet) (add_alarm_occurrences_cb): ditto svn path=/trunk/; revision=8123
* libical import cleanupJP Rosevear2001-01-241-2/+2
| | | | | | | | 2001-01-23 JP Rosevear <jpr@ximian.com> * libical import cleanup svn path=/trunk/; revision=7753
* Ximianified email addresses and copyrights.Federico Mena Quintero2001-01-171-63/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-17 Federico Mena Quintero <federico@ximian.com> * */*: Ximianified email addresses and copyrights. * idl/evolution-calendar.idl (CalFactory::open): Renamed from ::load(), and added an only_if_exists argument. (CalFactory::create): Removed method. (Listener::OpenStatus): Removed the IN_USE error and replaced it with a NOT_FOUND one; renamed the enum from LoadStatus. (Listener::notifyCalOpened): Renamed from notifyCalLoaded(). * pcs/cal-backend.h (CalBackend): Removed the uri field. (CalBackendOpenStatus): Renamed from CalBackendLoadStatus and added a NOT_FOUND value. (CalBackendClass::open): Put in a slot for the open method. * pcs/cal-backend.c (cal_backend_create): Removed function. * pcs/cal-backend-file.c (cal_backend_file_open): Return the appropriate value when only_if_exists is TRUE. (create_cal): We are Ximian now, so set the PRODID property to the appropriate foo. * pcs/cal-factory.c (CalFactory_open): implemented, replacing CalFactory_load() and CalFactory_create(). (CalFactory_open): Moved the queue_load_create_job() stuff to here, since we now only need to contemplate the open case instead of load/create ones. (open_backend): Do everything here; replaces load_backend() and create_backend(). * cal-client/cal-listener.h (CalListenerClass::cal_opened): Renamed from cal_loaded. (CalListenerClass): Replaced the silly signals, which are gratuitous abstraction, by a set of function pointers in the instance structure. * cal-client/cal-listener.c (cal_listener_get_calendar): Removed unused function. (cal_listener_construct): Added the listener notification functions. (cal_listener_new): Ditto. (Listener_notifyCalOpened): Renamed to our new naming convention for servant implementations. (Listener_notifyObjUpdated): Ditto. (Listener_notifyObjRemoved): Ditto. * cal-client/cal-client.h (CalClientOpenStatus): Renamed from CalClientLoadStatus. (CalClientClass::cal_opened): Renamed from ::cal_loaded(). (CalClientLoadState): New enum; basically make LoadState public so that users of this code do not have to maintain their own states. * cal-client/cal-client.c (cal_client_create_calendar): Removed function. (cal_client_open_calendar): Moved the functionality over from load_or_create(); now we do everything here. (*): Use the CalClientLoadState enum values instead of the old LoadState values. (cal_client_get_load_state): Renamed from cal_client_is_loaded(), and return the appropriate value. (CalClientPrivate): Added an uri field. (cal_client_init): Initialize priv->uri. (cal_client_destroy): Free the priv->uri. (cal_opened_cb): Maintain the priv->uri. (cal_client_open_calendar): Fill in the priv->uri. (cal_client_get_uri): New function. * gui/calendar-model.c (calendar_model_set_new_comp_vtype): New function to configure the type of calendar components to create when doing click-to-add. This makes the model usable for something other than task lists. (calendar_model_get_new_comp_vtype): New function. * gui/e-calendar-table.c (e_calendar_table_get_model): New function. (e_calendar_table_destroy): Unref the subset_model. * gui/gnome-cal.h (GnomeCalendarOpenMode): Removed enum. * gui/gnome-cal.c (LoadState): Removed enum; we now use the CalClientLoadState from the client objects. (GnomeCalendarPrivate): Removed the loading_uri and task_pad_loading_uri fields as well as the load_state and task_pad_load_state fields, as we can now query them directly from the CalClient. (open_error): Renamed from load_error(). (create_error): Removed function. (gnome_calendar_open): Do not take in the mode parameter. (cal_opened_cb): Get rid of our beautifully-crafted state machine and replace it with simple code; all the loading smarts are in the Wombat now. (setup_widgets): Set the new component vtype of the table model to CAL_COMPONENT_TODO. * gui/Makefile.am (evolution_calendar_SOURCES): Removed gnome-month-item.[ch] from the list of sources. * gui/calendar-summary.c (CalSummary): Removed unused cal_loaded field. (create_summary_view): Do not check if the file exists; this is the job of the Wombat. (generate_html_summary): Fixed prototype. (alarm_fn): Fixed prototype. (property_dialog): Fixed prototype. Wonder if/how this ever worked. (create_summary_view): Cast the component and view as appropriate. Removed unused html variable. [Iain dude, are you compiling with -Wall?] * gui/e-itip-control.c (cal_opened_cb): Sigh, this function signature was *very* wrong. It was using CalClientGetStatus instead of CalClientOpenStatus. * gui/e-tasks.h (ETasksOpenMode): Removed enum. * gui/e-tasks.c (setup_widgets): Set the new component vtype of the table model to CAL_COMPONENT_TODO. (LoadState): Removed the state machine foo. (e_tasks_open): Removed the mode parameter. (initial_load): Removed function. (create_error): Removed function. (ETasksPrivate): Removed folder_uri field. (cal_opened_cb): Remove the state machine. * gui/component-factory.c: #include "tasks-control.h" * conduits/calendar/calendar-conduit.h (ECalConduitContext): Removed calendar_load_tried field. * conduits/calendar/calendar-conduit.c (start_calendar_server_cb): Sigh, fixed function prototype. * conduits/todo/todo-conduit.h (EToDoConduitContext): Removed calendar_load_tried field. * conduits/todo/todo-conduit.c (start_calendar_server_cb): Fixed function prototype. svn path=/trunk/; revision=7571
* If the component has no alarms, do not try to queue them.Federico Mena Quintero2001-01-031-2/+1
| | | | | | | | | | | | 2001-01-02 Federico Mena Quintero <federico@helixcode.com> * gui/alarm-notify.c (add_component_alarms): If the component has no alarms, do not try to queue them. (remove_client_alarms): New function to remove all the queued alarms for a calendar client. (alarm_notify_remove_client): Remove the client's alarms. svn path=/trunk/; revision=7218
* account for the case where there are no alarms, fixes crashJP Rosevear2000-12-231-2/+6
| | | | | | | | | 2000-12-22 JP Rosevear <jpr@helixcode.com> * pcs/cal-backend-file.c (cal_backend_file_get_alarms_for_object): account for the case where there are no alarms, fixes crash svn path=/trunk/; revision=7134
* Fix confusion in the way the range is expanded.Federico Mena Quintero2000-12-201-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-19 Federico Mena Quintero <federico@helixcode.com> * pcs/cal-backend-file.c (compute_alarm_range): Fix confusion in the way the range is expanded. * cal-util/cal-component.c (cal_component_alarms_free): Doh, alarms->alarms is a list, not a generic pointer. Free it properly. (cal_component_free_pilot_id): Removed unused function. (cal_component_free_pilot_status): Likewise. * gui/main.c (init_bonobo): Use VERSION instead of a hardcoded string. Pass argc by value, not by reference. Test the return value of gnome_init_with_popt_table(). * cal-client/cal-client.c (cal_client_free_alarms): Oops, missed implementing this function. * cal-util/timeutil.c (print_time_t): Better printing format. (isodiff_to_secs): Removed unused function. (isodiff_from_secs): Removed unused function. (time_day_end): Removed crufty part. (time_day_begin): Removed crufty part. (time_day_hour): Removed unused function. (format_simple_hour): Removed unused function. (get_time_t_hour): Removed unused function. (time_from_start_duration): Removed unused function. * cal-util/timeutil.h (parse_date): Removed unimplemented, unused function prototype. svn path=/trunk/; revision=7083
* Alarm instance generation support for the Wombat.Federico Mena Quintero2000-12-191-20/+358
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-18 Federico Mena Quintero <federico@helixcode.com> Alarm instance generation support for the Wombat. * idl/evolution-calendar.idl (Cal::CalAlarmInstance): Changed to have an alarm UID, the trigger time, and the actual occurrence time. (Cal::CalComponentAlarms): New structure to hold a pair of a component and its alarms that trigger in a particular range of time. (Cal::getAlarmsInRange): Changed to return a CalComponentAlarmsSeq. * cal-util/cal-component.h (CalAlarmInstance): New C-side structure to match the one on the IDL. (CalComponentAlarms): Ditto. (CalAlarmAction): Renamed from CalComponentAlarmAction. (CalAlarmTriggerType): Renamed from CalComponentAlarmTriggerType. Encoded the START and END parameters for the RELATED parameter in this enum, too. Added a NONE value for invalid or missing trigger specifications. (CalComponentAlarmTriggerRelated): Removed. (CalAlarmTrigger): Renamed from CalComponentAlarmTrigger. Renamed the duration/time fields to rel_duration/abs_time, respectively. * cal-util/cal-component.c (cal_component_alarm_get_trigger): Changed to use the new trigger structure. (cal_component_alarm_set_trigger): Likewise. (cal_component_alarm_free_trigger): Removed function. (cal_component_has_alarms): Count the elements in the alarm_uid_hash instead of trying to fetch the first alarm subcomponent. (cal_component_alarms_free): New function to free a CalComponentAlarms structure. (CalComponentAlarmPrivate): Added an uid property pointer. (scan_alarm_property): Scan for the our extension UID property. (cal_component_alarm_get_uid): New function. * pcs/cal-backend.h (CalBackendClass): Changed the signatures of the ::get_alarms_in_range() and ::get_alarms_for_object() methods. * pcs/cal-backend.c (cal_backend_get_alarms_in_range): Changed signature; use the new method. (cal_backend_get_alarms_for_object): Likewise. * pcs/cal-backend-file.c (compute_alarm_range): New spiffy function to compute a range of time for alarm occurrences. (add_alarm_occurrences_cb): New function to add alarms for a particular occurrence of the component. (generate_absolute_triggers): New function to add the absolute alarm triggers. (generate_alarms_for_comp): New function to generate all the alarm instances for a component. (cal_backend_file_get_alarms_in_range): Implemented. * pcs/cal.c (Cal_get_alarms_in_range): Use the new CalBackend API. (Cal_get_alarms_for_object): Likewise. (build_alarm_instance_seq): Removed old function. * cal-util/cal-util.c (cal_alarm_instance_list_free): Removed function. * cal-client/cal-client.c (build_component_alarms_list): New function to demarshal the component alarms sequence. (build_alarm_instance_list): New function to demarshal the alarm instances sequence. (cal_client_get_alarms_in_range): Updated for the new API. (cal_client_get_alarms_for_object): Updated for the new API. * gui/gnome-cal.c: Temporary #ifdef-ing out of alarm-related stuff to make it build. svn path=/trunk/; revision=7076
* Use the new libical external iterators (icalcomponent_begin_component()Federico Mena Quintero2000-11-251-4/+7
| | | | | | | | | | | | | | | | | | | | | | | 2000-11-24 Federico Mena Quintero <federico@helixcode.com> * pcs/cal-backend-file.c (scan_vcalendar): Use the new libical external iterators (icalcomponent_begin_component() and friends); the internal iterators are deprecated. * cal-util/test-recur.c (generate_occurrences): Likewise. * gui/e-itip-control.c (pstream_load): Likewise. * gui/e-meeting-edit.c (e_meeting_edit): Likewise. * pcs/cal-backend.c (cal_backend_log_entry): Plug leak. (cal_backend_log_sync): Free the entry->uid. * util/icalendar-save.[ch]: * util/icalendar-test.c: * util/icalendar.[ch]: Removed obsolete files. svn path=/trunk/; revision=6660
* Pulling up stuff from the 0.6 branchJP Rosevear2000-10-211-25/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-20 JP Rosevear <jpr@helixcode.com> * pcs/cal-backend.c (cal_backend_destroy): New destroy handler to properly stop the timer, sync the log and unref the URI. (cal_backend_last_client_gone): Just emit the signal, clean up work is done in cal_backend_destroy now. * pcs/cal-backend-file.c (cal_backend_file_load): Unref the uri we are replacing NOT the new uri. 2000-10-20 JP Rosevear <jpr@helixcode.com> * conduits/todo/Makefile.am: Fix build * conduits/calendar/Makefile.am: Fix build 2000-10-20 JP Rosevear <jpr@helixcode.com> * conduits/calendar/calendar-conduit.c (delete_archive_record): Don't throw an error * conduits/todo/todo-conduit.c (delete_archive_record): ditto 2000-10-20 JP Rosevear <jpr@helixcode.com> * conduits/todo/todo-conduit-control-applet.c: Add defines * conduits/todo/todo-conduit-config.h: put #ifdefs around functions can't make this a public interface in the usual way as then the symbols would be exported * conduits/todo/todo-conduit.c: Kill warnings. clahey will be happy! Add some defines to include only the necessary config functions. (conduit_get_gpilot_conduit): Hook up archive signals * conduits/calendar/calendar-conduit.c: Same as above * conduits/calendar/calendar-conduit-control-applet.c: ditto * conduits/calendar/calendar-conduit-config.h: ditto svn path=/trunk/; revision=6086
* Remove pilot cruft. All pilot stuff is in the conduits now and uses theJP Rosevear2000-10-161-78/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-16 JP Rosevear <jpr@helixcode.com> * cal-client/cal-client.h: Remove pilot cruft. All pilot stuff is in the conduits now and uses the logging facility. * pcs/cal-backend-file.c: ditto * pcs/cal-backend.h: ditto * pcs/cal-backend.c: ditto * pcs/cal.c: ditto * pcs/cal.h: ditto * idl/evolution-calendar.idl: ditto * cal-util/cal-component.h: ditto * cal-util/cal-component.c: ditto * cal-client/cal-client.c: ditto * conduits/calendar/calendar-conduit.c (local_record_from_comp): Take a stab at storing recurrence stuff on the pilot properly * pcs/cal-backend.c (cal_backend_update_object): Don't log the event until after the update in case its a new item svn path=/trunk/; revision=5940
* New utility function (cal_backend_load): use above (cal_backend_create):JP Rosevear2000-09-201-31/+35
| | | | | | | | | | | | | | | | | | | | | | | 2000-09-19 JP Rosevear <jpr@helixcode.com> * pcs/cal-backend.c (cal_backend_set_uri): New utility function (cal_backend_load): use above (cal_backend_create): use above (cal_backend_log_name): Take a uri instead of a backend param * pcs/cal-backend-file.c: Get rid of useless hash functions (cal_backend_file_load): Check to make sure path exists and is local (cal_backend_file_load): Unref the current uri if there is one (cal_backend_file_create): ditto * pcs/cal-backend.c (cal_backend_last_client_gone): Sync before shooting ourselves in the foot * pcs/cal-backend-file.c (save): Fully implement backing up the calendar before writing out the new entry. svn path=/trunk/; revision=5516
* Add some other cases where a slow sync is in order (pre_sync): Pre loadJP Rosevear2000-09-201-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-19 JP Rosevear <jpr@helixcode.com> * conduits/todo/todo-conduit.c (check_for_slow_setting): Add some other cases where a slow sync is in order (pre_sync): Pre load the uids, the map and the add/mod/del lists (match_record): Use the map hash to match records (iterate): Iterate using the pre-loaded uid list (iterate_specific): Iterate using the add/mod/del lists (purge): Delete all entries in the del list (set_status): Set status by adding to an appropriate list (set_pilot_id): Set pilot_id by updating map hash * conduits/todo/todo-conduit.h: Add lists for added, modified and deleted objects * conduits/todo/todo-conduit.c (map_name): Get the pilot_id->uid map file name (map_sax_start_element): SAX handler to extract a pilot_id->uid mapping (map_sax_parse): Parse the given file and build a pilot_id->uid hash (map_write_foreach): Write out individual mapping elements (map_write): Write out the pilot_id->uid mapping (start_calendar_server_cb): Rename from gnome_calendar_load_cb * conduits/todo/todo-conduit-config.h: Rename pilotID to pilot_id * conduits/todo/e-todo.conduit.in: A little renaming * conduits/todo/Makefile.am: Fix build slightly * pcs/cal.c (build_change_seq): Build a corba sequence out of a list of CalObjChanges (Cal_get_objects_in_range): Implement new corba function * pcs/cal-backend.c (cal_backend_init): Intiliaze to NULL (cal_backend_load): Track the uri so we can write the log file to the same place (cal_backend_log_name): Figure out the log filename/path based on the calendar uri (cal_backend_set_node_timet): Set an xml node property value from a time_t (cal_backend_log_entry): Adds a log entry to list waiting to be written out (cal_backend_log_sync): Syncs the log entries to disk (cal_backend_log_sax_start_element): SAX callback for reading in log entries (cal_backend_log_sax_end_element): ditto (cal_backend_log_sax_parse): Main SAX parser call to parse the log file looking for particular log entries and creating a CalObjChange hash with the last change for each object (cal_backend_get_log_entries): Returns a hash of objects of a given type changed since the given time (cal_backend_update_object): Add appropriate log entries (cal_backend_remove_object): ditto (cal_backend_get_changed_uids): Implement new idl interface call (cal_backend_foreach_changed): Convert CalObjChange hash into a list * pcs/cal-backend-imc.[hc]: Remove crufty files * pcs/cal-backend-file.c (cal_backend_file_get_type_by_uid): New function that returns the CalObjType for a uid. * cal-client/cal-client.h: Update prototypes. * cal-client/cal-client.c (build_change_list): Build a list of CalObjChange items from a corba sequence. (cal_client_get_changed_uids): New accessor method for the similarly named addition to the idl file. * cal-util/cal-util.h: Update prototypes and add CalObjChangeType enum. * cal-util/cal-util.c (cal_obj_change_list_free): New utility method to free a list of CalObjChange objects. * idl/evolution-calendar.idl: Add get_changed_uids method and associated types. svn path=/trunk/; revision=5512
* Only remove the pilot item from the hash if it exists in the first place.JP Rosevear2000-09-131-6/+5
| | | | | | | | | 2000-09-13 JP Rosevear <jpr@helixcode.com> * pcs/cal-backend-file.c (remove_component): Only remove the pilot item from the hash if it exists in the first place. svn path=/trunk/; revision=5399
* Use g_int_* for now (cal_backend_file_create): dittoJP Rosevear2000-09-131-8/+13
| | | | | | | | | | 2000-09-12 JP Rosevear <jpr@helixcode.com> * pcs/cal-backend-file.c (cal_backend_file_load): Use g_int_* for now (cal_backend_file_create): ditto svn path=/trunk/; revision=5385
* Use cal component pilot stuff properly (find_record_in_repository): RemoveJP Rosevear2000-09-101-9/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-10 JP Rosevear <jpr@helixcode.com> * conduits/todo/todo-conduit.c (local_record_from_icalobject): Use cal component pilot stuff properly (find_record_in_repository): Remove cruft (ical_from_remote_record): Remove cruft (update_record): Set the vtype immediately after creation. Remove cruft * conduits/todo/todo-conduit.h: Remove iCalObject stuff * conduits/todo/todo-conduit-config.h: Move all the config stuff here, I need to kill the warnings at some point * conduits/todo/todo-conduit-control-applet.c (doRevertSettings): Set all the state variables correctly on a revert (doSaveSettings): Update original state (doHelp): Rename from about_cb (main): Destroy configurations when done * conduits/todo/Makefile.am: Tidy * pcs/cal-backend-file.c (cbf_pilot_hash): Function for hashing pilot ids (cbf_pilot_equal): For hash table of pilot ids (cal_backend_file_destroy): Destroy pilot id hash (add_component): Insert the uid into the pilot hash (remove_component): Remove the uid from the pilot hash (cal_backend_file_load): Create the pilot hash (cal_backend_file_create): ditto (cal_backend_file_get_uid_by_pilot_id): Implement using the pilot hash (cal_backend_file_update_pilot_id): ditto * cal-util/cal-component.h: Update prototypes * cal-util/cal-component.c (cal_component_get_pilot_id): Implement using ical X properties (cal_component_set_pilot_id): ditto (cal_component_get_pilot_status): ditto (cal_component_set_pilot_status): ditto (cal_component_free_pilot_id): Free a pilot id (cal_component_free_pilot_status): Free a pilot status svn path=/trunk/; revision=5298
* Remove the icalcomponent from the toplevel calendar here.Federico Mena Quintero2000-08-291-21/+28
| | | | | | | | | | | | | | 2000-08-28 Federico Mena Quintero <federico@helixcode.com> * pcs/cal-backend-file.c (remove_component): Remove the icalcomponent from the toplevel calendar here. (cal_backend_file_update_object): Do not remove it here. (cal_backend_file_remove_object): Do not remove it here. (add_component): Add the icalcomponent to the toplevel calendar if asked to. (cal_backend_file_update_object): Do not add it here. svn path=/trunk/; revision=5089
* Write out the calendar object (cal_backend_file_update_object): Remove/addJP Rosevear2000-08-281-9/+51
| | | | | | | | | | | | 2000-08-27 JP Rosevear <jpr@helixcode.com> * pcs/cal-backend-file.c (save): Write out the calendar object (cal_backend_file_update_object): Remove/add the icalcomponent from our master icalcomponent (the calendar) (cal_backend_file_remove_object): Remove the icalcomponent from our master icalcomponent svn path=/trunk/; revision=5069
* Added a get_objects_in_range() method. Takes in a time range and the typeFederico Mena Quintero2000-08-091-43/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-08-08 Federico Mena Quintero <federico@helixcode.com> * idl/evolution-calendar.idl (Cal): Added a get_objects_in_range() method. Takes in a time range and the type of component we are interested in; returns a list of UIDs. The idea is that ocurrences get computed in the client; we can have multiple recurrences in iCalendar and we cannot identify them trivially across the wire. (Cal): Removed the get_events_in_range() method. * pcs/cal-backend.c (cal_backend_free_uid_list): New function. (cal_backend_get_objects_in_range): New function. (cal_backend_get_events_in_range): Removed. * pcs/cal-backend-file.c (cal_backend_file_get_objects_in_range): Implemented new method. (cal_backend_file_get_events_in_range): Removed. * pcs/cal.c (Cal_get_events_in_range): Removed. (uncorba_obj_type): New function. (Cal_get_uids): Use uncorba_obj_type(). (Cal_get_n_objects): Likewise. (Cal_get_objects_in_range): Implemented new method. * cal-client/cal-client.c (cal_client_get_events_in_range): Removed. (cal_client_get_objects_in_range): Implemented. (corba_obj_type): New function. (cal_client_get_n_objects): Use corba_obj_type(). (cal_client_get_uids): Likewise. svn path=/trunk/; revision=4613
* Fixed a g_return_if_fail that had two parameters and thus wouldn't build.Joe Shaw2000-08-031-1/+1
| | | | | | | | | | 2000-08-02 Joe Shaw <joe@helixcode.com> * pcs/cal-backend-file.c (cal_backend_file_update_pilot_id): Fixed a g_return_if_fail that had two parameters and thus wouldn't build. svn path=/trunk/; revision=4502
* Dum dum dum - FedericoFederico Mena Quintero2000-08-031-0/+36
| | | | svn path=/trunk/; revision=4494
* New files for the iCalendar file backend.Federico Mena Quintero2000-08-031-0/+1004
2000-08-02 Federico Mena Quintero <federico@helixcode.com> * pcs/cal-backend-file.[ch]: New files for the iCalendar file backend. * pcs/Makefile.am (libpcs_a_SOURCES): Added cal-backend-file.[ch]. * cal-util/cal-component.c (cal_component_set_icalcomponent): Return an operation success code for if we are passed a component of a type we don't support. svn path=/trunk/; revision=4479