1 /* -*- Mode: C -*- */ 2 /*====================================================================== 3 FILE: icalvalue.h 4 CREATOR: eric 20 March 1999 5 6 7 $Id: icalvalue.h,v 1.10 2008-01-15 23:17:43 dothebart Exp $ 8 $Locker: $ 9 10 (C) COPYRIGHT 2000, Eric Busboom <eric@softwarestudio.org> 11 http://www.softwarestudio.org 12 13 This program is free software; you can redistribute it and/or modify 14 it under the terms of either: 15 16 The LGPL as published by the Free Software Foundation, version 17 2.1, available at: http://www.fsf.org/copyleft/lesser.html 18 19 Or: 20 21 The Mozilla Public License Version 1.0. You may obtain a copy of 22 the License at http://www.mozilla.org/MPL/ 23 24 The original code is icalvalue.h 25 26 ======================================================================*/ 27 28 #ifndef ICALVALUE_H 29 #define ICALVALUE_H 30 31 #include <time.h> 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" 40 41 /* Defined in icalderivedvalue.h */ 42 /*typedef struct icalvalue_impl icalvalue;*/ 43 44 icalvalue* icalvalue_new(icalvalue_kind kind); 45 46 icalvalue* icalvalue_new_clone(const icalvalue* value); 47 48 icalvalue* icalvalue_new_from_string(icalvalue_kind kind, const char* str); 49 50 void icalvalue_free(icalvalue* value); 51 52 int icalvalue_is_valid(const icalvalue* value); 53 54 const char* icalvalue_as_ical_string(const icalvalue* value); 55 char* icalvalue_as_ical_string_r(const icalvalue* value); 56 57 icalvalue_kind icalvalue_isa(const icalvalue* value); 58 59 int icalvalue_isa_value(void*); 60 61 icalparameter_xliccomparetype icalvalue_compare(const icalvalue* a, const icalvalue *b); 62 63 64 /* Special, non autogenerated value accessors */ 65 66 /* Defined in icalderivedvalue.h */ 67 /* icalvalue* icalvalue_new_recur (struct icalrecurrencetype v); */ 68 /* void icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype v); */ 69 /* struct icalrecurrencetype icalvalue_get_recur(const icalvalue* value); */ 70 71 /* icalvalue* icalvalue_new_trigger (struct icaltriggertype v); */ 72 /* void icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v); */ 73 /* struct icaltriggertype icalvalue_get_trigger(const icalvalue* value); */ 74 75 /* icalvalue* icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v); */ 76 /* void icalvalue_set_datetimeperiod(icalvalue* value, */ 77 /* struct icaldatetimeperiodtype v); */ 78 /* struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(const icalvalue* value); */ 79 80 /* Convert enumerations */ 81 82 icalvalue_kind icalvalue_string_to_kind(const char* str); 83 const char* icalvalue_kind_to_string(const icalvalue_kind kind); 84 85 /** Check validity of a specific icalvalue_kind **/ 86 int icalvalue_kind_is_valid(const icalvalue_kind kind); 87 88 /** Encode a character string in ical format, esacpe certain characters, etc. */ 89 int icalvalue_encode_ical_string(const char *szText, char *szEncText, int MaxBufferLen); 90 91 /** Extract the original character string encoded by the above function **/ 92 int icalvalue_decode_ical_string(const char *szText, char *szDecText, int nMaxBufferLen); 93 94 #endif /*ICALVALUE_H*/ 95