2 /*======================================================================
4 CREATOR: eric 20 March 1999
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 ======================================================================*/
33 #include "icalenums.h"
34 #include "icaltypes.h"
35 #include "icalrecur.h"
36 #include "icalduration.h"
37 #include "icalperiod.h"
38 #include "icalderivedproperty.h" /* For icalproperty_method, etc. */
39 #include "icalderivedparameter.h"
40 #include "icalderivedvalue.h"
42 /* Defined in icalderivedvalue.h */
43 /*typedef void icalvalue;*/
45 icalvalue* icalvalue_new(icalvalue_kind kind);
47 icalvalue* icalvalue_new_clone(icalvalue* value);
49 icalvalue* icalvalue_new_from_string(icalvalue_kind kind, const char* str);
51 void icalvalue_free(icalvalue* value);
53 int icalvalue_is_valid(icalvalue* value);
55 const char* icalvalue_as_ical_string(icalvalue* value);
57 icalvalue_kind icalvalue_isa(icalvalue* value);
59 int icalvalue_isa_value(void*);
61 icalparameter_xliccomparetype icalvalue_compare(icalvalue* a, icalvalue *b);
64 /* Special, non autogenerated value accessors */
66 icalvalue* icalvalue_new_recur (struct icalrecurrencetype v);
67 void icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype v);
68 struct icalrecurrencetype icalvalue_get_recur(icalvalue* value);
70 icalvalue* icalvalue_new_trigger (struct icaltriggertype v);
71 void icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v);
72 struct icaltriggertype icalvalue_get_trigger(icalvalue* value);
74 icalvalue* icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v);
75 void icalvalue_set_datetimeperiod(icalvalue* value,
76 struct icaldatetimeperiodtype v);
77 struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(icalvalue* value);
79 /* Convert enumerations */
81 icalvalue_kind icalvalue_string_to_kind(const char* str);
82 const char* icalvalue_kind_to_string(icalvalue_kind kind);
85 #endif /*ICALVALUE_H*/