1 /*
2  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
3  * Copyright (C) 2019 Red Hat, Inc. (www.redhat.com)
4  *
5  * This library is free software: you can redistribute it and/or modify it
6  * under the terms of the GNU Lesser General Public License as published by
7  * the Free Software Foundation.
8  *
9  * This library is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
12  * for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with this library. If not, see <http://www.gnu.org/licenses/>.
16  *
17  */
18 
19 #if !defined (__LIBECAL_H_INSIDE__) && !defined (LIBECAL_COMPILATION)
20 #error "Only <libecal/libecal.h> should be included directly."
21 #endif
22 
23 #ifndef E_CAL_COMPONENT_ORGANIZER_H
24 #define E_CAL_COMPONENT_ORGANIZER_H
25 
26 #include <glib-object.h>
27 #include <libical-glib/libical-glib.h>
28 
29 #include <libecal/e-cal-component-parameter-bag.h>
30 
31 G_BEGIN_DECLS
32 
33 /**
34  * ECalComponentOrganizer:
35  *
36  * Describes an organizer. Use the functions below to work with it.
37  **/
38 typedef struct _ECalComponentOrganizer ECalComponentOrganizer;
39 
40 GType		e_cal_component_organizer_get_type
41 						(void);
42 ECalComponentOrganizer *
43 		e_cal_component_organizer_new	(void);
44 ECalComponentOrganizer *
45 		e_cal_component_organizer_new_full
46 						(const gchar *value,
47 						 const gchar *sentby,
48 						 const gchar *cn,
49 						 const gchar *language);
50 ECalComponentOrganizer *
51 		e_cal_component_organizer_new_from_property
52 						(const ICalProperty *property);
53 ECalComponentOrganizer *
54 		e_cal_component_organizer_copy	(const ECalComponentOrganizer *organizer);
55 void		e_cal_component_organizer_free	(gpointer organizer); /* ECalComponentOrganizer * */
56 void		e_cal_component_organizer_set_from_property
57 						(ECalComponentOrganizer *organizer,
58 						 const ICalProperty *property);
59 ICalProperty *	e_cal_component_organizer_get_as_property
60 						(const ECalComponentOrganizer *organizer);
61 void		e_cal_component_organizer_fill_property
62 						(const ECalComponentOrganizer *organizer,
63 						 ICalProperty *property);
64 const gchar *	e_cal_component_organizer_get_value
65 						(const ECalComponentOrganizer *organizer);
66 void		e_cal_component_organizer_set_value
67 						(ECalComponentOrganizer *organizer,
68 						 const gchar *value);
69 const gchar *	e_cal_component_organizer_get_sentby
70 						(const ECalComponentOrganizer *organizer);
71 void		e_cal_component_organizer_set_sentby
72 						(ECalComponentOrganizer *organizer,
73 						 const gchar *sentby);
74 const gchar *	e_cal_component_organizer_get_cn(const ECalComponentOrganizer *organizer);
75 void		e_cal_component_organizer_set_cn(ECalComponentOrganizer *organizer,
76 						 const gchar *cn);
77 const gchar *	e_cal_component_organizer_get_language
78 						(const ECalComponentOrganizer *organizer);
79 void		e_cal_component_organizer_set_language
80 						(ECalComponentOrganizer *organizer,
81 						 const gchar *language);
82 ECalComponentParameterBag *
83 		e_cal_component_organizer_get_parameter_bag
84 						(const ECalComponentOrganizer *organizer);
85 
86 G_END_DECLS
87 
88 #endif /* E_CAL_COMPONENT_ORGANIZER_H */
89