2
/*======================================================================
4
CREATOR: eric 20 March 1999
7
$Id: icalvalue.h 537971 2006-05-06 11:24:08Z kainhofe $
10
(C) COPYRIGHT 2000, Eric Busboom <eric@softwarestudio.org>
11
http://www.softwarestudio.org
13
This program is free software; you can redistribute it and/or modify
14
it under the terms of either:
16
The LGPL as published by the Free Software Foundation, version
17
2.1, available at: http://www.fsf.org/copyleft/lesser.html
21
The Mozilla Public License Version 1.0. You may obtain a copy of
22
the License at http://www.mozilla.org/MPL/
24
The original code is icalvalue.h
26
======================================================================*/
32
#include "icalenums.h"
33
#include "icaltypes.h"
34
#include "icalrecur.h"
35
#include "icalduration.h"
36
#include "icalperiod.h"
37
#include "icalderivedproperty.h" /* For icalproperty_method, etc. */
38
#include "icalderivedparameter.h"
39
#include "icalderivedvalue.h"
41
/* Defined in icalderivedvalue.h */
42
/*typedef struct icalvalue_impl icalvalue;*/
44
icalvalue* icalvalue_new(icalvalue_kind kind);
46
icalvalue* icalvalue_new_clone(const icalvalue* value);
48
icalvalue* icalvalue_new_from_string(icalvalue_kind kind, const char* str);
50
void icalvalue_free(icalvalue* value);
52
int icalvalue_is_valid(const icalvalue* value);
54
const char* icalvalue_as_ical_string(const icalvalue* value);
56
icalvalue_kind icalvalue_isa(const icalvalue* value);
58
int icalvalue_isa_value(void*);
60
icalparameter_xliccomparetype icalvalue_compare(const icalvalue* a, const icalvalue *b);
63
/* Special, non autogenerated value accessors */
65
icalvalue* icalvalue_new_recur (struct icalrecurrencetype v);
66
void icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype v);
67
struct icalrecurrencetype icalvalue_get_recur(const icalvalue* value);
69
icalvalue* icalvalue_new_trigger (struct icaltriggertype v);
70
void icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v);
71
struct icaltriggertype icalvalue_get_trigger(const icalvalue* value);
73
icalvalue* icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v);
74
void icalvalue_set_datetimeperiod(icalvalue* value,
75
struct icaldatetimeperiodtype v);
76
struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(const icalvalue* value);
78
/* Convert enumerations */
80
icalvalue_kind icalvalue_string_to_kind(const char* str);
81
const char* icalvalue_kind_to_string(const icalvalue_kind kind);
83
/** Check validity of a specific icalvalue_kind **/
84
int icalvalue_kind_is_valid(const icalvalue_kind kind);
86
/** Encode a character string in ical format, esacpe certain characters, etc. */
87
int icalvalue_encode_ical_string(const char *szText, char *szEncText, int MaxBufferLen);
89
#endif /*ICALVALUE_H*/