diff options
Diffstat (limited to 'libical/src/libical/icalvalueimpl.h')
-rw-r--r-- | libical/src/libical/icalvalueimpl.h | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/libical/src/libical/icalvalueimpl.h b/libical/src/libical/icalvalueimpl.h index b103c9cb3f..8d39e6ca7f 100644 --- a/libical/src/libical/icalvalueimpl.h +++ b/libical/src/libical/icalvalueimpl.h @@ -35,7 +35,31 @@ #define ICALVALUEIMPL_H #include "icalenums.h" - +#include "icalderivedvalue.h" +#include "icalderivedproperty.h" + +/* Private structure for ATTACH values */ +struct icalattach_impl { + /* Reference count */ + int refcount; + + union { + /* URL attachment data */ + struct { + char *url; + } url; + + /* Inline data */ + struct { + unsigned char *data; + icalattach_free_fn_t free_fn; + void *free_fn_data; + } data; + } u; + + /* TRUE if URL, FALSE if inline data */ + unsigned int is_url : 1; +}; struct icalvalue_impl { icalvalue_kind kind; /*this is the kind that is visible from the outside*/ @@ -46,7 +70,7 @@ struct icalvalue_impl { const char* x_value; union data { - struct icalattachtype v_attach; + icalattach *v_attach; /* void *v_binary; */ /* use v_attach */ const char *v_string; /*char *v_text;*/ @@ -88,4 +112,6 @@ struct icalvalue_impl { } data; }; +struct icalvalue_impl *icalvalue_new_impl(icalvalue_kind kind); + #endif |