diff options
Diffstat (limited to 'calendar/cal-util/cal-util.c')
-rw-r--r-- | calendar/cal-util/cal-util.c | 73 |
1 files changed, 73 insertions, 0 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 */ + |