Back to index

lightning-sunbird  0.9+nobinonly
icalvalue.h
Go to the documentation of this file.
00001 /* -*- Mode: C -*- */
00002 /*======================================================================
00003   FILE: icalvalue.h
00004   CREATOR: eric 20 March 1999
00005 
00006 
00007   $Id: icalvalue.h,v 1.7 2002/08/08 16:48:29 lindner Exp $
00008   $Locker:  $
00009 
00010  (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org
00011 
00012  This program is free software; you can redistribute it and/or modify
00013  it under the terms of either: 
00014 
00015     The LGPL as published by the Free Software Foundation, version
00016     2.1, available at: http://www.fsf.org/copyleft/lesser.html
00017 
00018   Or:
00019 
00020     The Mozilla Public License Version 1.0. You may obtain a copy of
00021     the License at http://www.mozilla.org/MPL/
00022 
00023   The original code is icalvalue.h
00024 
00025   ======================================================================*/
00026 
00027 #ifndef ICALVALUE_H
00028 #define ICALVALUE_H
00029 
00030 #include <time.h>
00031 #include "icalenums.h"
00032 #include "icaltypes.h"
00033 #include "icalrecur.h"
00034 #include "icalduration.h"
00035 #include "icalperiod.h"
00036 #include "icalderivedproperty.h" /* For icalproperty_method, etc. */
00037 #include "icalderivedparameter.h"
00038 #include "icalderivedvalue.h"
00039                           
00040 /* Defined in icalderivedvalue.h */
00041 /*typedef struct icalvalue_impl icalvalue;*/
00042 
00043 icalvalue* icalvalue_new(icalvalue_kind kind);
00044 
00045 icalvalue* icalvalue_new_clone(const icalvalue* value);
00046 
00047 icalvalue* icalvalue_new_from_string(icalvalue_kind kind, const char* str);
00048 
00049 void icalvalue_free(icalvalue* value);
00050 
00051 int icalvalue_is_valid(const icalvalue* value);
00052 
00053 const char* icalvalue_as_ical_string(const icalvalue* value);
00054 
00055 icalvalue_kind icalvalue_isa(const icalvalue* value);
00056 
00057 int icalvalue_isa_value(void*);
00058 
00059 icalparameter_xliccomparetype icalvalue_compare(const icalvalue* a, const icalvalue *b);
00060 
00061 
00062 /* Special, non autogenerated value accessors */
00063 
00064 icalvalue* icalvalue_new_recur (struct icalrecurrencetype v);
00065 void icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype v);
00066 struct icalrecurrencetype icalvalue_get_recur(const icalvalue* value);
00067 
00068 icalvalue* icalvalue_new_trigger (struct icaltriggertype v);
00069 void icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v);
00070 struct icaltriggertype icalvalue_get_trigger(const icalvalue* value);
00071 
00072 icalvalue* icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v);
00073 void icalvalue_set_datetimeperiod(icalvalue* value, 
00074                               struct icaldatetimeperiodtype v);
00075 struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(const icalvalue* value);
00076 
00077 /* Convert enumerations */
00078 
00079 icalvalue_kind icalvalue_string_to_kind(const char* str);
00080 const char* icalvalue_kind_to_string(const icalvalue_kind kind);
00081 
00083 int icalvalue_kind_is_valid(const icalvalue_kind kind);
00084 
00086 int icalvalue_encode_ical_string(const char *szText, char *szEncText, int MaxBufferLen);
00087 
00088 #endif /*ICALVALUE_H*/