aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/pcs
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/pcs')
-rw-r--r--calendar/pcs/calobj.c14
-rw-r--r--calendar/pcs/calobj.h17
2 files changed, 25 insertions, 6 deletions
diff --git a/calendar/pcs/calobj.c b/calendar/pcs/calobj.c
index 8504d7a95b..a5832e469d 100644
--- a/calendar/pcs/calobj.c
+++ b/calendar/pcs/calobj.c
@@ -103,7 +103,7 @@ ical_object_destroy (iCalObject *ico)
g_free (ico);
}
-GList *
+static GList *
set_list (char *str, char *sc)
{
GList *list = 0;
@@ -115,6 +115,12 @@ set_list (char *str, char *sc)
return list;
}
+static void
+load_recurrence (iCalObject *o, char *str)
+{
+
+}
+
#define is_a_prop_of(obj,prop) isAPropertyOf (obj,prop)
#define str_val(obj) fakeCString (vObjectUStringZValue (obj))
#define has(obj,prop) (vo = isAPropertyOf (obj, prop))
@@ -246,13 +252,9 @@ ical_object_create_from_vobject (VObject *o, const char *object_name)
if (has (o, VCMAlarmProp))
;
- /* FIXME: rdate */
- if (has (o, VCRDateProp))
- ;
-
/* FIXME: rrule */
if (has (o, VCRRuleProp))
- ;
+ load_recurrence (ical, str_val (vo));
return ical;
}
diff --git a/calendar/pcs/calobj.h b/calendar/pcs/calobj.h
index 0fe85c6ca3..560c4ca99e 100644
--- a/calendar/pcs/calobj.h
+++ b/calendar/pcs/calobj.h
@@ -70,6 +70,21 @@ typedef enum {
typedef char NotYet;
+enum RecurType {
+ RECUR_DAILY,
+ RECUR_WEEKLY,
+ RECUR_MONTHLY_BY_POS,
+ RECUR_MONTHLY_BY_DAY,
+ RECUR_YEARLY_BY_MONTH,
+ RECUR_YEARLY_BY_DAY,
+};
+
+typedef struct {
+ enum RecurType type;
+
+ int frequency;
+} Recurrence;
+
/*
* This describes an iCalendar object, note that we never store durations, instead we
* always compute the end time computed from the start + duration.
@@ -114,6 +129,8 @@ typedef struct {
CalendarAlarm aalarm;
CalendarAlarm palarm;
CalendarAlarm malarm;
+
+ Recurrence *recur;
} iCalObject;
iCalObject *ical_new (char *comment, char *organizer, char *summary);