From 2be48d88552a96878124e71efdbd00e8601da4fe Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Mon, 10 Sep 2001 21:54:44 +0000 Subject: Replace struct icalattachtype by an opaque icalattach that is properly 2001-09-10 Federico Mena Quintero Replace struct icalattachtype by an opaque icalattach that is properly reference-counted. * src/libical/icalvalueimpl.h (struct icalattach_impl): Private declaration for the icalattach type. (struct icalvalue_impl): Make the v_attach field be an icalattach *. * src/libical/icaltypes.h: Added declaration for icalattach. This is now an opaque type; the implementation is in icalvalueimpl.h. (struct icalattachtype): Removed. * src/libical/icaltypes.c (icalattach_new_from_url): New function. (icalattach_new_from_data): New function. (icalattach_ref): New function. (icalattach_unref): New function. (icalattach_get_is_url): New function. (icalattach_get_url): New function. (icalattach_get_data): New function. (icalattachtype_new): Removed. (icalattachtype_free): Removed. (icalattachtype_add_reference): Removed. (icalattachtype_set_url): Removed. (icalattachtype_get_url): Removed. (icalattachtype_set_base64): Removed. (icalattachtype_get_base64): Removed. (icalattachtype_set_binary): Removed. (icalattachtype_get_binary): Removed. * src/libical/icalderivedvalue.c.in (icalvalue_new_attach): New function; we implement it ourselves. (icalvalue_set_attach): New function. (icalvalue_get_attach): New function. * src/libical/icalvalue.c (icalmemory_strdup_and_dequote): Made static. (icalvalue_new_clone): Clone BINARY and ATTACH values by refing the old attach value. (icalvalue_free): Free BINARY and ATTACH values. (icalvalue_attach_as_ical_string): Handle the new icalattachtype. (icalvalue_compare): Ditto. * src/libical/Makefile.am (CLEANFILES): Added ical.h. * design-data/*: Mark ATTACH as a custom value. svn path=/trunk/; revision=12745 --- libical/design-data/value-c-types.txt | 2 +- libical/design-data/value-mem-semantics.txt | 2 +- libical/design-data/value-types.csv | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'libical/design-data') diff --git a/libical/design-data/value-c-types.txt b/libical/design-data/value-c-types.txt index a171b31171..9b445655d9 100644 --- a/libical/design-data/value-c-types.txt +++ b/libical/design-data/value-c-types.txt @@ -1,4 +1,4 @@ -ATTACH autogen struct icalattachtype # Non-std +ATTACH nogen icalattach * BINARY autogen const char* BOOLEAN autogen int CAL-ADDRESS autogen const char* diff --git a/libical/design-data/value-mem-semantics.txt b/libical/design-data/value-mem-semantics.txt index 5948e244f6..ce085ede80 100644 --- a/libical/design-data/value-mem-semantics.txt +++ b/libical/design-data/value-mem-semantics.txt @@ -1,4 +1,4 @@ -ATTACH struct icalattachtype +ATTACH icalattach * BINARY char* BOOLEAN int CAL-ADDRESS char* diff --git a/libical/design-data/value-types.csv b/libical/design-data/value-types.csv index cbe6bd9969..654307097e 100644 --- a/libical/design-data/value-types.csv +++ b/libical/design-data/value-types.csv @@ -15,7 +15,7 @@ "UTC-OFFSET","(a)int","integer","unitary", "QUERY","(a)const char*","string","unitary", "#Non-standard multi-valued types",,,, -"ATTACH","(a)struct icalattachtype","none","URI;BINARY", +"ATTACH","(m)icalattach *","none","URI;BINARY", "DATE-TIME-DATE","(a)struct icaltimetype","none","DATE-TIME;DATE", "DATE-TIME-PERIOD","(m)struct icaldatetimeperiodtype","none","DATE-TIME;PERIOD", "TRIGGER","(m)struct icaltriggertype","string","DURATION;DATE-TIME", -- cgit v1.2.3