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
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))
45 typedef struct _ECalDataModelSubscriber ECalDataModelSubscriber
;
46 typedef struct _ECalDataModelSubscriberInterface ECalDataModelSubscriberInterface
;
48 struct _ECalDataModelSubscriberInterface
{
49 GTypeInterface parent_interface
;
51 void (*component_added
) (ECalDataModelSubscriber
*subscriber
,
54 void (*component_modified
) (ECalDataModelSubscriber
*subscriber
,
57 void (*component_removed
) (ECalDataModelSubscriber
*subscriber
,
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
,
69 void e_cal_data_model_subscriber_component_modified (ECalDataModelSubscriber
*subscriber
,
72 void e_cal_data_model_subscriber_component_removed (ECalDataModelSubscriber
*subscriber
,
76 void e_cal_data_model_subscriber_freeze (ECalDataModelSubscriber
*subscriber
);
77 void e_cal_data_model_subscriber_thaw (ECalDataModelSubscriber
*subscriber
);
81 #endif /* E_CAL_DATA_MODEL_SUBSCRIBER_H */