summaryrefslogtreecommitdiff
path: root/src/libical/icalvalue.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libical/icalvalue.h')
-rw-r--r--src/libical/icalvalue.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/libical/icalvalue.h b/src/libical/icalvalue.h
new file mode 100644
index 00000000..41057620
--- /dev/null
+++ b/src/libical/icalvalue.h
@@ -0,0 +1,94 @@
+/* -*- Mode: C -*- */
+/*======================================================================
+ FILE: icalvalue.h
+ CREATOR: eric 20 March 1999
+
+
+ $Id: icalvalue.h,v 1.10 2008-01-15 23:17:43 dothebart Exp $
+ $Locker: $
+
+ (C) COPYRIGHT 2000, Eric Busboom <eric@softwarestudio.org>
+ http://www.softwarestudio.org
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+
+ The LGPL as published by the Free Software Foundation, version
+ 2.1, available at: http://www.fsf.org/copyleft/lesser.html
+
+ Or:
+
+ The Mozilla Public License Version 1.0. You may obtain a copy of
+ the License at http://www.mozilla.org/MPL/
+
+ The original code is icalvalue.h
+
+ ======================================================================*/
+
+#ifndef ICALVALUE_H
+#define ICALVALUE_H
+
+#include <time.h>
+#include "icalenums.h"
+#include "icaltypes.h"
+#include "icalrecur.h"
+#include "icalduration.h"
+#include "icalperiod.h"
+#include "icalderivedproperty.h" /* For icalproperty_method, etc. */
+#include "icalderivedparameter.h"
+#include "icalderivedvalue.h"
+
+/* Defined in icalderivedvalue.h */
+/*typedef struct icalvalue_impl icalvalue;*/
+
+icalvalue* icalvalue_new(icalvalue_kind kind);
+
+icalvalue* icalvalue_new_clone(const icalvalue* value);
+
+icalvalue* icalvalue_new_from_string(icalvalue_kind kind, const char* str);
+
+void icalvalue_free(icalvalue* value);
+
+int icalvalue_is_valid(const icalvalue* value);
+
+const char* icalvalue_as_ical_string(const icalvalue* value);
+char* icalvalue_as_ical_string_r(const icalvalue* value);
+
+icalvalue_kind icalvalue_isa(const icalvalue* value);
+
+int icalvalue_isa_value(void*);
+
+icalparameter_xliccomparetype icalvalue_compare(const icalvalue* a, const icalvalue *b);
+
+
+/* Special, non autogenerated value accessors */
+
+/* Defined in icalderivedvalue.h */
+/* icalvalue* icalvalue_new_recur (struct icalrecurrencetype v); */
+/* void icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype v); */
+/* struct icalrecurrencetype icalvalue_get_recur(const icalvalue* value); */
+
+/* icalvalue* icalvalue_new_trigger (struct icaltriggertype v); */
+/* void icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v); */
+/* struct icaltriggertype icalvalue_get_trigger(const icalvalue* value); */
+
+/* icalvalue* icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v); */
+/* void icalvalue_set_datetimeperiod(icalvalue* value, */
+/* struct icaldatetimeperiodtype v); */
+/* struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(const icalvalue* value); */
+
+/* Convert enumerations */
+
+icalvalue_kind icalvalue_string_to_kind(const char* str);
+const char* icalvalue_kind_to_string(const icalvalue_kind kind);
+
+/** Check validity of a specific icalvalue_kind **/
+int icalvalue_kind_is_valid(const icalvalue_kind kind);
+
+/** Encode a character string in ical format, esacpe certain characters, etc. */
+int icalvalue_encode_ical_string(const char *szText, char *szEncText, int MaxBufferLen);
+
+/** Extract the original character string encoded by the above function **/
+int icalvalue_decode_ical_string(const char *szText, char *szDecText, int nMaxBufferLen);
+
+#endif /*ICALVALUE_H*/