summaryrefslogtreecommitdiffabout
path: root/libical/src/libical/icalvalueimpl.h
Unidiff
Diffstat (limited to 'libical/src/libical/icalvalueimpl.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libical/src/libical/icalvalueimpl.h93
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
40struct 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