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