Diffstat (limited to 'libical/src/libical/icalvalueimpl.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libical/src/libical/icalvalueimpl.h | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/libical/src/libical/icalvalueimpl.h b/libical/src/libical/icalvalueimpl.h new file mode 100644 index 0000000..116535d --- a/dev/null +++ b/libical/src/libical/icalvalueimpl.h | |||
@@ -0,0 +1,93 @@ | |||
1 | /* -*- Mode: C -*- */ | ||
2 | /*====================================================================== | ||
3 | FILE: icalvalue.c | ||
4 | CREATOR: eric 02 May 1999 | ||
5 | |||
6 | $Id$ | ||
7 | |||
8 | |||
9 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | ||
10 | |||
11 | This program is free software; you can redistribute it and/or modify | ||
12 | it under the terms of either: | ||
13 | |||
14 | The LGPL as published by the Free Software Foundation, version | ||
15 | 2.1, available at: http://www.fsf.org/copyleft/lesser.html | ||
16 | |||
17 | Or: | ||
18 | |||
19 | The Mozilla Public License Version 1.0. You may obtain a copy of | ||
20 | the License at http://www.mozilla.org/MPL/ | ||
21 | |||
22 | The original code is icalvalue.c | ||
23 | |||
24 | Contributions from: | ||
25 | Graham Davison (g.m.davison@computer.org) | ||
26 | |||
27 | |||
28 | ======================================================================*/ | ||
29 | |||
30 | #ifdef HAVE_CONFIG_H | ||
31 | #include <config.h> | ||
32 | #endif | ||
33 | |||
34 | #ifndef ICALVALUEIMPL_H | ||
35 | #define ICALVALUEIMPL_H | ||
36 | |||
37 | #include "icalenums.h" | ||
38 | |||
39 | |||
40 | struct icalvalue_impl { | ||
41 | icalvalue_kind kind; /*this is the kind that is visible from the outside*/ | ||
42 | |||
43 | char id[5]; | ||
44 | int size; | ||
45 | icalproperty* parent; | ||
46 | const char* x_value; | ||
47 | |||
48 | union data { | ||
49 | struct icalattachtype *v_attach; | ||
50 | /* void *v_binary; */ /* use v_attach */ | ||
51 | const char *v_string; | ||
52 | /*char *v_text;*/ | ||
53 | /*char *v_caladdress;*/ | ||
54 | /*char *v_uri;*/ | ||
55 | float v_float; | ||
56 | int v_int; | ||
57 | /*int v_boolean;*/ | ||
58 | /*int v_integer;*/ | ||
59 | struct icaldurationtype v_duration; | ||
60 | /*int v_utcoffset;*/ | ||
61 | |||
62 | struct icalperiodtype v_period; | ||
63 | /*struct icalperiodtype v_datetimeperiod;*/ | ||
64 | struct icalgeotype v_geo; | ||
65 | /*time_t v_time;*/ | ||
66 | struct icaltimetype v_time; | ||
67 | /*struct icaltimetype v_date;*/ | ||
68 | /*struct icaltimetype v_datetime;*/ | ||
69 | /*struct icaltimetype v_datetimedate;*/ | ||
70 | |||
71 | struct icalreqstattype v_requeststatus; | ||
72 | |||
73 | /* struct icalrecurrencetype was once included | ||
74 | directly ( not referenced ) in this union, but it | ||
75 | contributes 2000 bytes to every value, so now it is | ||
76 | a reference*/ | ||
77 | |||
78 | struct icalrecurrencetype *v_recur; | ||
79 | struct icaltriggertype v_trigger; | ||
80 | |||
81 | int v_enum; | ||
82 | /* v_enum takes care of several enumerated types including: | ||
83 | icalproperty_method v_method; | ||
84 | icalproperty_status v_status; | ||
85 | icalproperty_action v_action; | ||
86 | icalproperty_class v_class; | ||
87 | icalproperty_transp v_transp; | ||
88 | */ | ||
89 | |||
90 | } data; | ||
91 | }; | ||
92 | |||
93 | #endif | ||