Fix FSF address (Tobias Mueller, #470445)
[platform/upstream/evolution-data-server.git] / calendar / libedata-cal / e-data-cal.h
1 /* Evolution calendar client interface object
2  *
3  * Copyright (C) 2000 Ximian, Inc.
4  * Copyright (C) 2000 Ximian, Inc.
5  *
6  * Authors: Federico Mena-Quintero <federico@ximian.com>
7  *          Rodrigo Moya <rodrigo@ximian.com>
8  *
9  * This program is free software; you can redistribute it and/or
10  * modify it under the terms of version 2 of the GNU Lesser General Public
11  * License as published by the Free Software Foundation.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21  */
22
23 #ifndef E_DATA_CAL_H
24 #define E_DATA_CAL_H
25
26 #include <bonobo/bonobo-object.h>
27 #include <libedata-cal/Evolution-DataServer-Calendar.h>
28 #include <libedata-cal/e-data-cal-common.h>
29 #include <libedata-cal/e-data-cal-view.h>
30
31 G_BEGIN_DECLS
32
33 \f
34
35 #define E_TYPE_DATA_CAL            (e_data_cal_get_type ())
36 #define E_DATA_CAL(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_DATA_CAL, EDataCal))
37 #define E_DATA_CAL_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_DATA_CAL, EDataCalClass))
38 #define E_IS_DATA_CAL(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_DATA_CAL))
39 #define E_IS_DATA_CAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), E_TYPE_DATA_CAL))
40
41 typedef struct _EDataCalPrivate EDataCalPrivate;
42
43 struct _EDataCal {
44         BonoboObject object;
45
46         /* Private data */
47         EDataCalPrivate *priv;
48 };
49
50 struct _EDataCalClass {
51         BonoboObjectClass parent_class;
52
53         POA_GNOME_Evolution_Calendar_Cal__epv epv;
54 };
55
56 GType e_data_cal_get_type (void);
57
58 EDataCal *e_data_cal_construct (EDataCal *cal,
59                     ECalBackend *backend,
60                     GNOME_Evolution_Calendar_CalListener listener);
61
62 EDataCal *e_data_cal_new (ECalBackend *backend, GNOME_Evolution_Calendar_CalListener listener);
63
64 ECalBackend *e_data_cal_get_backend (EDataCal *cal);
65 GNOME_Evolution_Calendar_CalListener e_data_cal_get_listener (EDataCal *cal);
66
67 void e_data_cal_notify_read_only           (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status,
68                                             gboolean read_only);
69 void e_data_cal_notify_cal_address         (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status,
70                                             const char *address);
71 void e_data_cal_notify_alarm_email_address (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status,
72                                             const char *address);
73 void e_data_cal_notify_ldap_attribute      (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status,
74                                             const char *attribute);
75 void e_data_cal_notify_static_capabilities (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status,
76                                             const char *capabilities);
77
78 void e_data_cal_notify_open   (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status);
79 void e_data_cal_notify_remove (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status);
80
81 void e_data_cal_notify_object_created  (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status,
82                                         const char *uid, const char *object);
83 void e_data_cal_notify_object_modified (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status, 
84                                         const char *old_object, const char *object);
85 void e_data_cal_notify_object_removed  (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status, 
86                                         const ECalComponentId *id, const char *old_object, const char *object);
87 void e_data_cal_notify_alarm_discarded (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status);
88
89 void e_data_cal_notify_objects_received (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status);
90 void e_data_cal_notify_objects_sent     (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status, GList *users,
91                                          const char *calobj);
92
93 void e_data_cal_notify_default_object (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status,
94                                        const char *object);
95 void e_data_cal_notify_object         (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status,
96                                        const char *object);
97 void e_data_cal_notify_object_list    (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status,
98                                        GList *objects);
99
100 void e_data_cal_notify_query (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status,
101                               EDataCalView *query);
102
103 void e_data_cal_notify_timezone_requested   (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status,
104                                              const char *object);
105 void e_data_cal_notify_timezone_added       (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status,
106                                              const char *tzid);
107 void e_data_cal_notify_default_timezone_set (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status);
108
109 void e_data_cal_notify_changes   (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status,
110                                   GList *adds, GList *modifies, GList *deletes);
111 void e_data_cal_notify_free_busy (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status,
112                                   GList *freebusy);
113
114 void e_data_cal_notify_mode  (EDataCal *cal, 
115                               GNOME_Evolution_Calendar_CalListener_SetModeStatus status, 
116                               GNOME_Evolution_Calendar_CalMode mode);
117
118 void e_data_cal_notify_auth_required (EDataCal *cal);
119
120 void e_data_cal_notify_error (EDataCal *cal, const char *message);
121
122 void e_data_cal_notify_attachment_list (EDataCal *cal, GNOME_Evolution_Calendar_CallStatus status, GSList *objects);
123
124 G_END_DECLS
125
126 #endif