Libical  1.0
 All Data Structures Files Functions Variables Typedefs Macros Pages
icalparameter.h
1 /* -*- Mode: C -*- */
2 /*======================================================================
3  FILE: icalparam.h
4  CREATOR: eric 20 March 1999
5 
6 
7  $Id: icalparameter.h,v 1.5 2008-01-15 23:17:40 dothebart Exp $
8  $Locker: $
9 
10 
11 
12  (C) COPYRIGHT 2000, Eric Busboom <eric@softwarestudio.org>
13  http://www.softwarestudio.org
14 
15  This program is free software; you can redistribute it and/or modify
16  it under the terms of either:
17 
18  The LGPL as published by the Free Software Foundation, version
19  2.1, available at: http://www.fsf.org/copyleft/lesser.html
20 
21  Or:
22 
23  The Mozilla Public License Version 1.0. You may obtain a copy of
24  the License at http://www.mozilla.org/MPL/
25 
26  The original code is icalparam.h
27 
28  ======================================================================*/
29 
30 #ifndef ICALPARAM_H
31 #define ICALPARAM_H
32 
33 #include "icalderivedparameter.h"
34 
35 /* Declared in icalderivedparameter.h */
36 /*typedef struct icalparameter_impl icalparameter;*/
37 
38 icalparameter* icalparameter_new(icalparameter_kind kind);
39 icalparameter* icalparameter_new_clone(icalparameter* p);
40 
41 /* Create from string of form "PARAMNAME=VALUE" */
42 icalparameter* icalparameter_new_from_string(const char* value);
43 
44 /* Create from just the value, the part after the "=" */
45 icalparameter* icalparameter_new_from_value_string(icalparameter_kind kind, const char* value);
46 
47 void icalparameter_free(icalparameter* parameter);
48 
49 char* icalparameter_as_ical_string(icalparameter* parameter);
50 char* icalparameter_as_ical_string_r(icalparameter* parameter);
51 
52 int icalparameter_is_valid(icalparameter* parameter);
53 
54 icalparameter_kind icalparameter_isa(icalparameter* parameter);
55 
56 int icalparameter_isa_parameter(void* param);
57 
58 /* Access the name of an X parameter */
59 void icalparameter_set_xname (icalparameter* param, const char* v);
60 const char* icalparameter_get_xname(icalparameter* param);
61 void icalparameter_set_xvalue (icalparameter* param, const char* v);
62 const char* icalparameter_get_xvalue(icalparameter* param);
63 
64 /* Access the name of an IANA parameter */
65 void icalparameter_set_iana_name (icalparameter* param, const char* v);
66 const char* icalparameter_get_iana_name(icalparameter* param);
67 void icalparameter_set_iana_value (icalparameter* param, const char* v);
68 const char* icalparameter_get_iana_value(icalparameter* param);
69 
70 /* returns 1 if parameters have same name in ICAL, otherwise 0 */
71 int icalparameter_has_same_name(icalparameter* param1, icalparameter* param2);
72 
73 /* Convert enumerations */
74 
75 const char* icalparameter_kind_to_string(icalparameter_kind kind);
76 icalparameter_kind icalparameter_string_to_kind(const char* string);
77 
78 
79 
80 #endif