aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/cal-util/cal-component.c
diff options
context:
space:
mode:
authorJP Rosevear <jpr@helixcode.com>2000-09-06 17:59:17 +0800
committerJP Rosevear <jpr@src.gnome.org>2000-09-06 17:59:17 +0800
commit5c279839005d2218319fa5546b6e498df753e68e (patch)
tree60eb5df767d2b73d52bc23760d62c189afd1aa38 /calendar/cal-util/cal-component.c
parent114f5b7f916184cf8269b36a06b74b74bb7b18e2 (diff)
downloadgsoc2013-evolution-5c279839005d2218319fa5546b6e498df753e68e.tar
gsoc2013-evolution-5c279839005d2218319fa5546b6e498df753e68e.tar.gz
gsoc2013-evolution-5c279839005d2218319fa5546b6e498df753e68e.tar.bz2
gsoc2013-evolution-5c279839005d2218319fa5546b6e498df753e68e.tar.lz
gsoc2013-evolution-5c279839005d2218319fa5546b6e498df753e68e.tar.xz
gsoc2013-evolution-5c279839005d2218319fa5546b6e498df753e68e.tar.zst
gsoc2013-evolution-5c279839005d2218319fa5546b6e498df753e68e.zip
Use new convenience functions and only get the recurrence stuff if needed.
2000-09-06 JP Rosevear <jpr@helixcode.com> * cal-util/cal-recur.c (cal_recur_generate_instances): Use new convenience functions and only get the recurrence stuff if needed. Free the recurrence stuff if used. 2000-09-05 JP Rosevear <jpr@helixcode.com> * cal-util/cal-component.h: Add new prototypes * cal-util/cal-component.c (cal_component_has_exrules): Utility function to determine whether a cal component has any exrules (cal_component_has_exdates): Ditto for exdates (cal_component_has_exceptions): Utility function to determine whether a cal component has any exception rules (cal_component_has_recurrences):Utility function to determine whether a cal component has any recurrence rules svn path=/trunk/; revision=5219
Diffstat (limited to 'calendar/cal-util/cal-component.c')
-rw-r--r--calendar/cal-util/cal-component.c74
1 files changed, 74 insertions, 0 deletions
diff --git a/calendar/cal-util/cal-component.c b/calendar/cal-util/cal-component.c
index 3c063cf990..60e0a1bbd5 100644
--- a/calendar/cal-util/cal-component.c
+++ b/calendar/cal-util/cal-component.c
@@ -1991,6 +1991,29 @@ cal_component_set_exdate_list (CalComponent *comp, GSList *exdate_list)
priv->need_sequence_inc = TRUE;
}
+/**
+ * cal_component_has_exdates:
+ * @comp: A calendar component object.
+ *
+ * Queries whether a calendar component object has any exception dates defined
+ * for it.
+ *
+ * Return value: TRUE if the component has exception dates, FALSE otherwise.
+ **/
+gboolean
+cal_component_has_exdates (CalComponent *comp)
+{
+ CalComponentPrivate *priv;
+
+ g_return_val_if_fail (comp != NULL, FALSE);
+ g_return_val_if_fail (IS_CAL_COMPONENT (comp), FALSE);
+
+ priv = comp->priv;
+ g_return_val_if_fail (priv->icalcomp != NULL, FALSE);
+
+ return (priv->exdate_list != NULL);
+}
+
/* Gets a list of recurrence rules */
static void
get_recur_list (GSList *recur_list,
@@ -2108,6 +2131,43 @@ cal_component_set_exrule_list (CalComponent *comp, GSList *recur_list)
}
/**
+ * cal_component_has_exrules:
+ * @comp: A calendar component object.
+ *
+ * Queries whether a calendar component object has any exception rules defined
+ * for it.
+ *
+ * Return value: TRUE if the component has exception rules, FALSE otherwise.
+ **/
+gboolean
+cal_component_has_exrules (CalComponent *comp)
+{
+ CalComponentPrivate *priv;
+
+ g_return_val_if_fail (comp != NULL, FALSE);
+ g_return_val_if_fail (IS_CAL_COMPONENT (comp), FALSE);
+
+ priv = comp->priv;
+ g_return_val_if_fail (priv->icalcomp != NULL, FALSE);
+
+ return (priv->exrule_list != NULL);
+}
+
+/**
+ * cal_component_has_exceptions:
+ * @comp: A calendar component object
+ *
+ * Queries whether a calendar component object has any exceptions defined
+ *
+ * Return value: TRUE if the component has exceptions, FALSE otherwise
+ **/
+gboolean
+cal_component_has_exceptions (CalComponent *comp)
+{
+ return cal_component_has_exdates (comp) || cal_component_has_exrules (comp);
+}
+
+/**
* cal_component_get_geo:
* @comp: A calendar component object.
* @geo: Return value for the geographic position property. This should be
@@ -2492,6 +2552,20 @@ cal_component_has_rrules (CalComponent *comp)
}
/**
+ * cal_component_has_recurrence:
+ * @comp: A calendar component object
+ *
+ * Queries whether a calendar component object has any recurrences defined
+ *
+ * Return value: TRUE if the component has recurrences, FALSE otherwise
+ **/
+gboolean
+cal_component_has_recurrences (CalComponent *comp)
+{
+ return cal_component_has_rdates (comp) || cal_component_has_rrules (comp);
+}
+
+/**
* cal_component_get_sequence:
* @comp: A calendar component object.
* @sequence: Return value for the sequence number. This should be freed using