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