diff options
Diffstat (limited to 'libical/src/libical/icalderivedvalue.c.in')
-rw-r--r-- | libical/src/libical/icalderivedvalue.c.in | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/libical/src/libical/icalderivedvalue.c.in b/libical/src/libical/icalderivedvalue.c.in index 420ffb9ef0..8dac43a788 100644 --- a/libical/src/libical/icalderivedvalue.c.in +++ b/libical/src/libical/icalderivedvalue.c.in @@ -3,7 +3,7 @@ FILE: icalvalue.c CREATOR: eric 02 May 1999 - $Id: icalderivedvalue.c.in,v 1.1 2001/04/17 17:23:17 jpr Exp $ + $Id: icalderivedvalue.c.in,v 1.2 2001/09/10 21:54:44 federico Exp $ (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org @@ -284,12 +284,54 @@ icalvalue_get_datetimeperiod(icalvalue* value) return dtp; } +icalvalue * +icalvalue_new_attach (icalattach *attach) +{ + struct icalvalue_impl *impl; + + icalerror_check_arg_rz ((attach != NULL), "attach"); + + impl = icalvalue_new_impl (ICAL_ATTACH_VALUE); + if (!impl) { + errno = ENOMEM; + return NULL; + } + icalvalue_set_attach ((icalvalue *) impl, attach); + return (icalvalue *) impl; +} + +void +icalvalue_set_attach (icalvalue *value, icalattach *attach) +{ + struct icalvalue_impl *impl; + icalerror_check_arg_rv ((value != NULL), "value"); + icalerror_check_value_type (value, ICAL_ATTACH_VALUE); + icalerror_check_arg_rv ((attach != NULL), "attach"); + impl = (struct icalvalue_impl *) value; + icalattach_ref (attach); + if (impl->data.v_attach) + icalattach_unref (impl->data.v_attach); + impl->data.v_attach = attach; +} + +icalattach * +icalvalue_get_attach (icalvalue *value) +{ + struct icalvalue_impl *impl; + + icalerror_check_arg_rz ((value != NULL), "value"); + icalerror_check_value_type (value, ICAL_ATTACH_VALUE); + + impl = (struct icalvalue_impl *) value; + + return impl->data.v_attach; +} /* The remaining interfaces are 'new', 'set' and 'get' for each of the value |