1 /* Evolution calendar - Live search view implementation
2  *
3  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.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  * Authors: Federico Mena-Quintero <federico@ximian.com>
18  */
19 
20 #if !defined (__LIBEDATA_CAL_H_INSIDE__) && !defined (LIBEDATA_CAL_COMPILATION)
21 #error "Only <libedata-cal/libedata-cal.h> should be included directly."
22 #endif
23 
24 #ifndef E_DATA_CAL_VIEW_H
25 #define E_DATA_CAL_VIEW_H
26 
27 #include <libecal/libecal.h>
28 
29 /* Standard GObject macros */
30 #define E_TYPE_DATA_CAL_VIEW \
31 	(e_data_cal_view_get_type ())
32 #define E_DATA_CAL_VIEW(obj) \
33 	(G_TYPE_CHECK_INSTANCE_CAST \
34 	((obj), E_TYPE_DATA_CAL_VIEW, EDataCalView))
35 #define E_DATA_CAL_VIEW_CLASS(klass) \
36 	(G_TYPE_CHECK_CLASS_CAST \
37 	((klass), E_TYPE_DATA_CAL_VIEW, EDataCalViewClass))
38 #define E_IS_DATA_CAL_VIEW(obj) \
39 	(G_TYPE_CHECK_INSTANCE_TYPE \
40 	((obj), E_TYPE_DATA_CAL_VIEW))
41 #define E_IS_DATA_CAL_VIEW_CLASS(cls) \
42 	(G_TYPE_CHECK_CLASS_TYPE \
43 	((cls), E_TYPE_DATA_CAL_VIEW))
44 #define E_DATA_CAL_VIEW_GET_CLASS(obj) \
45 	(G_TYPE_INSTANCE_GET_CLASS \
46 	((obj), E_TYPE_DATA_CAL_VIEW, EDataCalViewClass))
47 
48 G_BEGIN_DECLS
49 
50 struct _ECalBackend;
51 struct _ECalBackendSExp;
52 
53 typedef struct _EDataCalView EDataCalView;
54 typedef struct _EDataCalViewClass EDataCalViewClass;
55 typedef struct _EDataCalViewPrivate EDataCalViewPrivate;
56 
57 struct _EDataCalView {
58 	GObject parent;
59 	EDataCalViewPrivate *priv;
60 };
61 
62 struct _EDataCalViewClass {
63 	GObjectClass parent_class;
64 };
65 
66 GType		e_data_cal_view_get_type	(void) G_GNUC_CONST;
67 EDataCalView *	e_data_cal_view_new		(struct _ECalBackend *backend,
68 						 struct _ECalBackendSExp *sexp,
69 						 GDBusConnection *connection,
70 						 const gchar *object_path,
71 						 GError **error);
72 struct _ECalBackend *
73 		e_data_cal_view_ref_backend	(EDataCalView *view);
74 #ifndef EDS_DISABLE_DEPRECATED
75 struct _ECalBackend *
76 		e_data_cal_view_get_backend	(EDataCalView *view);
77 #endif /* EDS_DISABLE_DEPRECATED */
78 GDBusConnection *
79 		e_data_cal_view_get_connection	(EDataCalView *view);
80 const gchar *	e_data_cal_view_get_object_path	(EDataCalView *view);
81 struct _ECalBackendSExp *
82 		e_data_cal_view_get_sexp	(EDataCalView *view);
83 gboolean	e_data_cal_view_object_matches	(EDataCalView *view,
84 						 const gchar *object);
85 gboolean	e_data_cal_view_component_matches
86 						(EDataCalView *view,
87 						 ECalComponent *component);
88 gboolean	e_data_cal_view_is_started	(EDataCalView *view);
89 gboolean	e_data_cal_view_is_completed	(EDataCalView *view);
90 gboolean	e_data_cal_view_is_stopped	(EDataCalView *view);
91 GHashTable *	e_data_cal_view_get_fields_of_interest
92 						(EDataCalView *view);
93 ECalClientViewFlags
94 		e_data_cal_view_get_flags	(EDataCalView *view);
95 
96 gchar *		e_data_cal_view_get_component_string
97 						(EDataCalView *view,
98 						 ECalComponent *component);
99 
100 void		e_data_cal_view_notify_components_added
101 						(EDataCalView *view,
102 						 const GSList *ecalcomponents);
103 void		e_data_cal_view_notify_components_added_1
104 						(EDataCalView *view,
105 						 ECalComponent *component);
106 void		e_data_cal_view_notify_components_modified
107 						(EDataCalView *view,
108 						 const GSList *ecalcomponents);
109 void		e_data_cal_view_notify_components_modified_1
110 						(EDataCalView *view,
111 						 ECalComponent *component);
112 
113 void		e_data_cal_view_notify_objects_removed
114 						(EDataCalView *view,
115 						 const GSList *ids);
116 void		e_data_cal_view_notify_objects_removed_1
117 						(EDataCalView *view,
118 						 const ECalComponentId *id);
119 void		e_data_cal_view_notify_progress	(EDataCalView *view,
120 						 gint percent,
121 						 const gchar *message);
122 void		e_data_cal_view_notify_complete	(EDataCalView *view,
123 						 const GError *error);
124 
125 G_END_DECLS
126 
127 #endif /* E_DATA_CAL_VIEW_H */
128