diff options
Diffstat (limited to 'calendar/cal-util')
-rw-r--r-- | calendar/cal-util/cal-util.c | 73 | ||||
-rw-r--r-- | calendar/cal-util/cal-util.h | 4 | ||||
-rw-r--r-- | calendar/cal-util/calobj.c | 8 |
3 files changed, 83 insertions, 2 deletions
diff --git a/calendar/cal-util/cal-util.c b/calendar/cal-util/cal-util.c index f3054af958..c49045c141 100644 --- a/calendar/cal-util/cal-util.c +++ b/calendar/cal-util/cal-util.c @@ -22,6 +22,7 @@ #include <config.h> #include <stdlib.h> #include "cal-util.h" +#include "libversit/vcc.h" @@ -72,3 +73,75 @@ cal_obj_uid_list_free (GList *list) g_list_free (list); } + + +#warning FIXME -- do we need a complete calendar here? should we use libical instead of libversit? can this be the same as string_from_ical_object in cal-backend.c? +char *ical_object_to_string (iCalObject *ico) +{ + VObject *vobj; + char *buf; + + vobj = ical_object_to_vobject (ico); + buf = writeMemVObject (NULL, NULL, vobj); + cleanStrTbl (); + return buf; +} + +iCalObject *string_to_ical_object (char *buffer) +{ + /* FIX ME */ +#if 0 + /* something */ + VObject *vcal; + vcal = Parse_MIME (buffer, strlen (buffer)); +#endif /* 0 */ + return NULL; +} + + +#if 0 +this is the one from calendar.c: + +/* + * calendar_string_from_object: + * + * Returns the iCalObject @object armored around a vCalendar + * object as a string. + */ +char * +calendar_string_from_object (iCalObject *object) +{ + Calendar *cal; + char *str; + + g_return_val_if_fail (object != NULL, NULL); + + cal = calendar_new ("Temporal",CALENDAR_INIT_NIL); + calendar_add_object (cal, object); + str = calendar_get_as_vcal_string (cal); + calendar_remove_object (cal, object); + + calendar_destroy (cal); + + return str; +} + +char * +calendar_get_as_vcal_string (Calendar *cal) +{ + VObject *vcal; + char *result; + + g_return_val_if_fail (cal != NULL, NULL); + + vcal = vcalendar_create_from_calendar (cal); + result = writeMemVObject (NULL, 0, vcal); + + cleanVObject (vcal); + cleanStrTbl (); + + return result; +} + +#endif /* 0 */ + diff --git a/calendar/cal-util/cal-util.h b/calendar/cal-util/cal-util.h index 5087eee4d3..c5c3fcdb00 100644 --- a/calendar/cal-util/cal-util.h +++ b/calendar/cal-util/cal-util.h @@ -25,6 +25,7 @@ #include <libgnome/gnome-defs.h> #include <time.h> #include <glib.h> +#include "calobj.h" BEGIN_GNOME_DECLS @@ -53,7 +54,8 @@ typedef enum { void cal_obj_uid_list_free (GList *list); - +char *ical_object_to_string (iCalObject *ico); +iCalObject *string_to_ical_object (char *); END_GNOME_DECLS diff --git a/calendar/cal-util/calobj.c b/calendar/cal-util/calobj.c index 691bdac9f2..0c9a9207bd 100644 --- a/calendar/cal-util/calobj.c +++ b/calendar/cal-util/calobj.c @@ -15,7 +15,13 @@ #include "timeutil.h" #include "libversit/vcc.h" -extern CalendarAlarm alarm_defaults[4]; +/* Default values for alarms */ +CalendarAlarm alarm_defaults[4] = { + { ALARM_MAIL, 0, 15, ALARM_MINUTES }, + { ALARM_PROGRAM, 0, 15, ALARM_MINUTES }, + { ALARM_DISPLAY, 0, 15, ALARM_MINUTES }, + { ALARM_AUDIO, 0, 15, ALARM_MINUTES } +}; static char * ical_gen_uid (void) |