aboutsummaryrefslogtreecommitdiffstats
path: root/doc/devel/calendar
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@helixcode.com>2000-12-19 07:47:52 +0800
committerFederico Mena Quintero <federico@src.gnome.org>2000-12-19 07:47:52 +0800
commit8d96fe16f15f653d0809603ccaecd677e5708d8d (patch)
tree56d1ccf4be7dcec8a7a09524f2d312ab1da004af /doc/devel/calendar
parenta1d12a819a73754b94eeaf558aefa91e77f169f3 (diff)
downloadgsoc2013-evolution-8d96fe16f15f653d0809603ccaecd677e5708d8d.tar.gz
gsoc2013-evolution-8d96fe16f15f653d0809603ccaecd677e5708d8d.tar.zst
gsoc2013-evolution-8d96fe16f15f653d0809603ccaecd677e5708d8d.zip
Alarm instance generation support for the Wombat.
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
Diffstat (limited to 'doc/devel/calendar')
-rw-r--r--doc/devel/calendar/Makefile.am1
-rw-r--r--doc/devel/calendar/alarm-generation.sgml54
-rw-r--r--doc/devel/calendar/evolution-calendar.sgml1
3 files changed, 56 insertions, 0 deletions
diff --git a/doc/devel/calendar/Makefile.am b/doc/devel/calendar/Makefile.am
index 66c3436d59..207672f303 100644
--- a/doc/devel/calendar/Makefile.am
+++ b/doc/devel/calendar/Makefile.am
@@ -1,6 +1,7 @@
SUBDIRS = cal-client cal-util
EXTRA_DIST = \
+ alarm-generation.sgml \
architecture.sgml \
evolution-calendar.sgml \
public-reference.sgml
diff --git a/doc/devel/calendar/alarm-generation.sgml b/doc/devel/calendar/alarm-generation.sgml
new file mode 100644
index 0000000000..60bc78343e
--- /dev/null
+++ b/doc/devel/calendar/alarm-generation.sgml
@@ -0,0 +1,54 @@
+ <chapter id="calendar-alarm-generation">
+ <title>How the Wombat generates alarm instances</title>
+
+ <para>
+ This chapter describes the algorithm that the &Wombat; uses
+ internally to generate instances of a calendar component's
+ alarms. You do not need to read this chapter if you are simply
+ using the client-side functions.
+ </para>
+
+ <sect1 id="what-makes-up-an-alarm-trigger">
+ <title>What makes up an alarm trigger</title>
+
+ <para>
+ VTODO and VEVENT calendar components can have any number of
+ alarms defined for them. Each alarm has a trigger
+ specification, an alarm type (display, audio, email, or
+ procedure), and data corresponding to the alarm type. The
+ Wombat side of things is interested only in the trigger
+ specification, since this is all that the Wombat needs to
+ produce alarm instances.
+ </para>
+
+ <para>
+ An alarm trigger can be relative or absolute. Relative
+ triggers occur a certain time before or after the start or end
+ of a calendar component's occurrence. For example, you could
+ configure a trigger to notify you 15 minutes before an
+ appointment starts, so that you can get to its location on
+ time; or another one to notify you 5 minutes after another
+ person's meeting has ended, so that you can call that person
+ on the phone after the meeting and not disturb him while
+ there. Absolute triggers occur at a specific point in time;
+ you can configure an alarm to trigger exactly at a particular
+ date and time that has no relation to the component's
+ occurrences at all.
+ </para>
+ </sect1>
+
+ <sect1 id="generating-trigger-instances">
+ <title>Generating trigger instances</title>
+
+ <para>
+
+ </para>
+ </sect1>
+ </chapter>
+
+<!--
+Local variables:
+mode: sgml
+sgml-parent-document: ("../evolution-devel-guide.sgml" "book" "part" "")
+End:
+-->
diff --git a/doc/devel/calendar/evolution-calendar.sgml b/doc/devel/calendar/evolution-calendar.sgml
index 82015689ec..019fef9ea4 100644
--- a/doc/devel/calendar/evolution-calendar.sgml
+++ b/doc/devel/calendar/evolution-calendar.sgml
@@ -41,6 +41,7 @@
</partintro>
&calendar-architecture;
+ &calendar-alarm-generation;
</part>
<!--