Libical API Documentation  3.0
icalvalueimpl.h
1 /*======================================================================
2  FILE: icalvalue.c
3  CREATOR: eric 02 May 1999
4 
5  (C) COPYRIGHT 2000, Eric Busboom <eric@softwarestudio.org>
6  http://www.softwarestudio.org
7 
8  This library is free software; you can redistribute it and/or modify
9  it under the terms of either:
10 
11  The LGPL as published by the Free Software Foundation, version
12  2.1, available at: http://www.gnu.org/licenses/lgpl-2.1.html
13 
14  Or:
15 
16  The Mozilla Public License Version 2.0. You may obtain a copy of
17  the License at http://www.mozilla.org/MPL/
18 
19  Contributions from:
20  Graham Davison (g.m.davison@computer.org)
21 ======================================================================*/
22 
23 #ifndef ICALVALUEIMPL_H
24 #define ICALVALUEIMPL_H
25 
26 #include "icalproperty.h"
27 
29 {
30  icalvalue_kind kind; /*this is the kind that is visible from the outside */
31 
32  char id[5];
33  int size;
34  icalproperty *parent;
35  char *x_value;
36 
37  union data
38  {
39  icalattach *v_attach;
40  /* void *v_binary; *//* use v_attach */
41 
42  const char *v_string;
43  /*char *v_text; */ /* use v_string */
44  /*char *v_caladdress; *//* use v_string */
45  /*char *v_query; */ /* use v_string */
46  /*char *v_uri; */ /* use v_string */
47 
48  float v_float;
49 
50  int v_int;
51  /*int v_boolean; */ /* use v_int */
52  /*int v_integer; */ /* use v_int */
53  /*int v_utcoffset; *//* use v_int */
54 
55  struct icaldurationtype v_duration;
56 
57  struct icalperiodtype v_period;
58  /*struct icalperiodtype v_datetimeperiod; *//* use v_time/v_period */
59 
60  struct icalgeotype v_geo;
61 
62  struct icaltimetype v_time;
63  /*struct icaltimetype v_date; */ /* use v_time */
64  /*struct icaltimetype v_datetime; */ /* use v_time */
65  /*struct icaltimetype v_datetimedate; *//* use v_time */
66 
67  struct icalreqstattype v_requeststatus;
68 
69  /* struct icalrecurrencetype was once included
70  directly ( not referenced ) in this union, but it
71  contributes 2000 bytes to every value, so now it is
72  a reference */
73  struct icalrecurrencetype *v_recur;
74 
75  /*struct icaltriggertype v_trigger; *//* use v_time/v_duration */
76 
77  int v_enum;
78  /* v_enum takes care of several enumerated types including:
79  icalproperty_method v_method;
80  icalproperty_status v_status;
81  icalproperty_action v_action;
82  icalproperty_class v_class;
83  icalproperty_transp v_transp;
84  icalproperty_busytype v_busytype;
85  icalproperty_taskmode v_taskmode;
86  icalproperty_pollmode v_pollmode;
87  icalproperty_pollcompletion v_pollcomplete;
88  */
89 
90  } data;
91 };
92 
93 #endif
Struct to represent a period in time.
Definition: icalperiod.h:38
Definition: icaltypes.h:34
Definition: icalvalueimpl.h:37
Definition: icaltypes.h:65
A struct representing a duration.
Definition: icalduration.h:37
Definition: icaltime.h:105
Definition: icalrecur.h:152
Definition: icalattachimpl.h:25
Definition: icalvalueimpl.h:28