2 /*======================================================================
4 CREATOR: eric 20 March 1999
7 $Id: icalderivedvalue.h.in,v 1.10 2007-04-30 13:57:48 artcancro Exp $
12 (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org
14 This program is free software; you can redistribute it and/or modify
15 it under the terms of either:
17 The LGPL as published by the Free Software Foundation, version
18 2.1, available at: http://www.fsf.org/copyleft/lesser.html
22 The Mozilla Public License Version 1.0. You may obtain a copy of
23 the License at http://www.mozilla.org/MPL/
25 The original code is icalvalue.h
27 ======================================================================*/
29 #ifndef ICALDERIVEDVALUE_H
30 #define ICALDERIVEDVALUE_H
32 #include "icaltypes.h"
33 #include "icalrecur.h"
35 #include "icalduration.h"
36 #include "icalperiod.h"
37 #include "icalattach.h"
39 typedef struct icalvalue_impl icalvalue;
41 void icalvalue_set_x(icalvalue* value, const char* v);
42 icalvalue* icalvalue_new_x(const char* v);
43 const char* icalvalue_get_x(const icalvalue* value);
45 icalvalue* icalvalue_new_recur (struct icalrecurrencetype v);
46 void icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype v);
47 struct icalrecurrencetype icalvalue_get_recur(const icalvalue* value);
49 icalvalue* icalvalue_new_trigger (struct icaltriggertype v);
50 void icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v);
51 struct icaltriggertype icalvalue_get_trigger(const icalvalue* value);
53 icalvalue* icalvalue_new_datetime(struct icaltimetype v);
54 struct icaltimetype icalvalue_get_datetime(const icalvalue* value);
55 void icalvalue_set_datetime(icalvalue* value, struct icaltimetype v);
57 icalvalue* icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v);
58 void icalvalue_set_datetimeperiod(icalvalue* value, struct icaldatetimeperiodtype v);
59 struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(const icalvalue* value);
62 icalvalue* icalvalue_new_geo(struct icalgeotype v);
63 struct icalgeotype icalvalue_get_geo(const icalvalue* value);
64 void icalvalue_set_geo(icalvalue* value, struct icalgeotype v);
66 icalvalue *icalvalue_new_attach (icalattach *attach);
67 void icalvalue_set_attach (icalvalue *value, icalattach *attach);
68 icalattach *icalvalue_get_attach (const icalvalue *value);
70 void icalvalue_reset_kind(icalvalue* value);
75 icalvalue* icalvalue_new_class(enum icalproperty_class v);
76 enum icalproperty_class icalvalue_get_class(const icalvalue* value);
77 void icalvalue_set_class(icalvalue* value, enum icalproperty_class v);