Bug 793125 - Crash due to popup menus left attached too long
[evolution.git] / src / calendar / gui / e-cal-data-model-subscriber.h
blob8d76fb0f6f883a2cd6da013b4fa6cb1f8d827229
1 /*
2 * Copyright (C) 2014 Red Hat, Inc. (www.redhat.com)
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation.
8 * This program is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
10 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
11 * for more details.
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program; if not, see <http://www.gnu.org/licenses/>.
16 * Authors: Milan Crha <mcrha@redhat.com>
19 #ifndef E_CAL_DATA_MODEL_SUBSCRIBER_H
20 #define E_CAL_DATA_MODEL_SUBSCRIBER_H
22 #include <libecal/libecal.h>
24 /* Standard GObject macros */
25 #define E_TYPE_CAL_DATA_MODEL_SUBSCRIBER \
26 (e_cal_data_model_subscriber_get_type ())
27 #define E_CAL_DATA_MODEL_SUBSCRIBER(obj) \
28 (G_TYPE_CHECK_INSTANCE_CAST \
29 ((obj), E_TYPE_CAL_DATA_MODEL_SUBSCRIBER, ECalDataModelSubscriber))
30 #define E_CAL_DATA_MODEL_SUBSCRIBER_INTERFACE(cls) \
31 (G_TYPE_CHECK_CLASS_CAST \
32 ((cls), E_TYPE_CAL_DATA_MODEL_SUBSCRIBER, ECalDataModelSubscriberInterface))
33 #define E_IS_CAL_DATA_MODEL_SUBSCRIBER(obj) \
34 (G_TYPE_CHECK_INSTANCE_TYPE \
35 ((obj), E_TYPE_CAL_DATA_MODEL_SUBSCRIBER))
36 #define E_IS_CAL_DATA_MODEL_SUBSCRIBER_INTERFACE(cls) \
37 (G_TYPE_CHECK_CLASS_TYPE \
38 ((cls), E_TYPE_CAL_DATA_MODEL_SUBSCRIBER))
39 #define E_CAL_DATA_MODEL_SUBSCRIBER_GET_INTERFACE(obj) \
40 (G_TYPE_INSTANCE_GET_INTERFACE \
41 ((obj), E_TYPE_CAL_DATA_MODEL_SUBSCRIBER, ECalDataModelSubscriberInterface))
43 G_BEGIN_DECLS
45 typedef struct _ECalDataModelSubscriber ECalDataModelSubscriber;
46 typedef struct _ECalDataModelSubscriberInterface ECalDataModelSubscriberInterface;
48 struct _ECalDataModelSubscriberInterface {
49 GTypeInterface parent_interface;
51 void (*component_added) (ECalDataModelSubscriber *subscriber,
52 ECalClient *client,
53 ECalComponent *comp);
54 void (*component_modified) (ECalDataModelSubscriber *subscriber,
55 ECalClient *client,
56 ECalComponent *comp);
57 void (*component_removed) (ECalDataModelSubscriber *subscriber,
58 ECalClient *client,
59 const gchar *uid,
60 const gchar *rid);
61 void (*freeze) (ECalDataModelSubscriber *subscriber);
62 void (*thaw) (ECalDataModelSubscriber *subscriber);
65 GType e_cal_data_model_subscriber_get_type (void) G_GNUC_CONST;
66 void e_cal_data_model_subscriber_component_added (ECalDataModelSubscriber *subscriber,
67 ECalClient *client,
68 ECalComponent *comp);
69 void e_cal_data_model_subscriber_component_modified (ECalDataModelSubscriber *subscriber,
70 ECalClient *client,
71 ECalComponent *comp);
72 void e_cal_data_model_subscriber_component_removed (ECalDataModelSubscriber *subscriber,
73 ECalClient *client,
74 const gchar *uid,
75 const gchar *rid);
76 void e_cal_data_model_subscriber_freeze (ECalDataModelSubscriber *subscriber);
77 void e_cal_data_model_subscriber_thaw (ECalDataModelSubscriber *subscriber);
79 G_END_DECLS
81 #endif /* E_CAL_DATA_MODEL_SUBSCRIBER_H */