1 /* 2 * 3 * Evolution calendar - Data model for ETable 4 * 5 * This program 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 program 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 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 program; if not, see <http://www.gnu.org/licenses/>. 16 * 17 * 18 * Authors: 19 * Rodrigo Moya <rodrigo@ximian.com> 20 * 21 * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) 22 * 23 */ 24 25 #ifndef E_CAL_MODEL_CALENDAR_H 26 #define E_CAL_MODEL_CALENDAR_H 27 28 #include "e-cal-model.h" 29 30 /* Standard GObject macros */ 31 #define E_TYPE_CAL_MODEL_CALENDAR \ 32 (e_cal_model_calendar_get_type ()) 33 #define E_CAL_MODEL_CALENDAR(obj) \ 34 (G_TYPE_CHECK_INSTANCE_CAST \ 35 ((obj), E_TYPE_CAL_MODEL_CALENDAR, ECalModelCalendar)) 36 #define E_CAL_MODEL_CALENDAR_CLASS(cls) \ 37 (G_TYPE_CHECK_CLASS_CAST \ 38 ((cls), E_TYPE_CAL_MODEL_CALENDAR, ECalModelCalendarClass)) 39 #define E_IS_CAL_MODEL_CALENDAR(obj) \ 40 (G_TYPE_CHECK_INSTANCE_TYPE \ 41 ((obj), E_TYPE_CAL_MODEL_CALENDAR)) 42 #define E_IS_CAL_MODEL_CALENDAR_CLASS(cls) \ 43 (G_TYPE_CHECK_CLASS_TYPE \ 44 ((cls), E_TYPE_CAL_MODEL_CALENDAR)) 45 #define E_CAL_MODEL_CALENDAR_GET_CLASS(obj) \ 46 (G_TYPE_INSTANCE_GET_CLASS \ 47 ((obj), E_TYPE_CAL_MODEL_CALENDAR, ECalModelCalendarClass)) 48 49 G_BEGIN_DECLS 50 51 typedef struct _ECalModelCalendar ECalModelCalendar; 52 typedef struct _ECalModelCalendarClass ECalModelCalendarClass; 53 typedef struct _ECalModelCalendarPrivate ECalModelCalendarPrivate; 54 55 typedef enum { 56 /* If you add new items here or reorder them, you have to update the 57 * .etspec files for the tables using this model */ 58 E_CAL_MODEL_CALENDAR_FIELD_DTEND = E_CAL_MODEL_FIELD_LAST, 59 E_CAL_MODEL_CALENDAR_FIELD_LOCATION, 60 E_CAL_MODEL_CALENDAR_FIELD_TRANSPARENCY, 61 E_CAL_MODEL_CALENDAR_FIELD_STATUS, 62 E_CAL_MODEL_CALENDAR_FIELD_LAST 63 } ECalModelCalendarField; 64 65 struct _ECalModelCalendar { 66 ECalModel parent; 67 ECalModelCalendarPrivate *priv; 68 }; 69 70 struct _ECalModelCalendarClass { 71 ECalModelClass parent_class; 72 }; 73 74 GType e_cal_model_calendar_get_type (void); 75 ECalModel * e_cal_model_calendar_new (ECalDataModel *data_model, 76 ESourceRegistry *registry, 77 EShell *shell); 78 79 G_END_DECLS 80 81 #endif /* E_CAL_MODEL_CALENDAR_H */ 82