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