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
79 lines
2.6 KiB
Plaintext
79 lines
2.6 KiB
Plaintext
<!DOCTYPE book PUBLIC "-//Davenport//DTD DocBook V3.0//EN"[
|
|
<!ENTITY preface SYSTEM "preface.sgml">
|
|
<!ENTITY evolution-reference SYSTEM "reference.sgml">
|
|
<!ENTITY FDL SYSTEM "fdl.sgml">
|
|
|
|
<!ENTITY evolution-calendar SYSTEM "calendar/evolution-calendar.sgml">
|
|
<!ENTITY calendar-architecture SYSTEM "calendar/architecture.sgml">
|
|
<!ENTITY calendar-alarm-generation SYSTEM "calendar/alarm-generation.sgml">
|
|
<!ENTITY calendar-public-reference SYSTEM "calendar/public-reference.sgml">
|
|
<!ENTITY CalClient SYSTEM "calendar/cal-client/sgml/cal-client.sgml">
|
|
<!ENTITY CalComponent SYSTEM "calendar/cal-util/sgml/cal-component.sgml">
|
|
<!ENTITY cal-recur SYSTEM "calendar/cal-util/sgml/cal-recur.sgml">
|
|
<!ENTITY cal-util SYSTEM "calendar/cal-util/sgml/cal-util.sgml">
|
|
<!ENTITY timeutil SYSTEM "calendar/cal-util/sgml/timeutil.sgml">
|
|
|
|
<!ENTITY Evolution "<application>Evolution</application>">
|
|
<!ENTITY Wombat "<application>Wombat</application>">
|
|
<!ENTITY Camel "<application>Camel</application>">
|
|
<!ENTITY PCS "<acronym>PCS</acronym>">
|
|
<!ENTITY libical "<application>libical</application>">
|
|
]>
|
|
|
|
<book id="index">
|
|
<bookinfo>
|
|
<title>&Evolution; Developer's Guide</title>
|
|
|
|
<authorgroup>
|
|
<corpauthor>
|
|
Helix Code, Inc.
|
|
</corpauthor>
|
|
</authorgroup>
|
|
|
|
<copyright>
|
|
<year>2000</year>
|
|
<holder>Helix Code, Inc.</holder>
|
|
</copyright>
|
|
|
|
<legalnotice id="legalnotice">
|
|
<para>
|
|
Permission is granted to copy, distribute and/or modify this
|
|
document under the terms of the <ulink type="help"
|
|
url="gnome-help:fdl"><citetitle>GNU Free Documentation
|
|
License</citetitle></ulink>, Version 1.1 or any later version
|
|
published by the Free Software Foundation with no Invariant
|
|
Sections, no Front-Cover Texts, and no Back-Cover Texts. You
|
|
may obtain a copy of the <citetitle>GNU Free Documentation
|
|
License</citetitle> from the Free Software Foundation by
|
|
visiting <ulink type="http" url="http://www.fsf.org">their Web
|
|
site</ulink> or by writing to: Free Software Foundation, Inc.,
|
|
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
</para>
|
|
|
|
<para>
|
|
Many of the names used by companies to distinguish their
|
|
products and services are claimed as trademarks. Where those
|
|
names appear in any GNOME documentation, and those trademarks
|
|
are made aware to the members of the GNOME Documentation
|
|
Project, the names have been printed in caps or initial caps.
|
|
</para>
|
|
</legalnotice>
|
|
</bookinfo>
|
|
|
|
<!-- Introduction -->
|
|
|
|
&preface;
|
|
|
|
<!-- DocBook parts for each individual component -->
|
|
|
|
&evolution-calendar;
|
|
|
|
<!-- API Reference part -->
|
|
|
|
&evolution-reference;
|
|
|
|
<!-- Appendices -->
|
|
|
|
&FDL;
|
|
</book>
|