1 /* Evolution calendar factory
3 * Copyright (C) 2000 Ximian, Inc.
5 * Author: Federico Mena-Quintero <federico@ximian.com>
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of version 2 of the GNU General Public
9 * License as published by the Free Software Foundation.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
21 #ifndef E_DATA_CAL_FACTORY_H
22 #define E_DATA_CAL_FACTORY_H
24 #include <bonobo/bonobo-object.h>
25 #include <libical/ical.h>
26 #include <libedata-cal/Evolution-DataServer-Calendar.h>
32 #define E_TYPE_DATA_CAL_FACTORY (e_data_cal_factory_get_type ())
33 #define E_DATA_CAL_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_DATA_CAL_FACTORY, EDataCalFactory))
34 #define E_DATA_CAL_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_DATA_CAL_FACTORY, \
35 EDataCalFactoryClass))
36 #define E_IS_DATA_CAL_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_DATA_CAL_FACTORY))
37 #define E_IS_DATA_CAL_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), E_TYPE_DATA_CAL_FACTORY))
39 typedef struct _EDataCalFactory EDataCalFactory;
40 typedef struct _EDataCalFactoryClass EDataCalFactoryClass;
42 typedef struct _EDataCalFactoryPrivate EDataCalFactoryPrivate;
44 struct _EDataCalFactory {
48 EDataCalFactoryPrivate *priv;
51 struct _EDataCalFactoryClass {
52 BonoboObjectClass parent_class;
54 POA_GNOME_Evolution_Calendar_CalFactory__epv epv;
56 /* Notification signals */
57 void (* last_calendar_gone) (EDataCalFactory *factory);
60 GType e_data_cal_factory_get_type (void);
61 EDataCalFactory *e_data_cal_factory_new (void);
63 gboolean e_data_cal_factory_register_storage (EDataCalFactory *factory, const char *iid);
64 void e_data_cal_factory_register_method (EDataCalFactory *factory,
66 icalcomponent_kind kind,
68 int e_data_cal_factory_get_n_backends (EDataCalFactory *factory);
69 void e_data_cal_factory_dump_active_backends (EDataCalFactory *factory);