aboutsummaryrefslogtreecommitdiffstats
path: root/libical/src/libical/icalderivedvalue.c.in
diff options
context:
space:
mode:
Diffstat (limited to 'libical/src/libical/icalderivedvalue.c.in')
-rw-r--r--libical/src/libical/icalderivedvalue.c.in44
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