diff options
author | Federico Mena Quintero <federico@helixcode.com> | 2000-06-29 15:16:19 +0800 |
---|---|---|
committer | Federico Mena Quintero <federico@src.gnome.org> | 2000-06-29 15:16:19 +0800 |
commit | 31e562c685d59c22fa1f241aa549bf8867042657 (patch) | |
tree | f4864bf7ed1b18c17dc72377209a813dd2ad123c /calendar/cal-util/cal-component.h | |
parent | 428931dccacc89ec3861955a95605e4943c48a94 (diff) | |
download | gsoc2013-evolution-31e562c685d59c22fa1f241aa549bf8867042657.tar.gz gsoc2013-evolution-31e562c685d59c22fa1f241aa549bf8867042657.tar.zst gsoc2013-evolution-31e562c685d59c22fa1f241aa549bf8867042657.zip |
New files for the new iCalendar component object. Today's properties:
2000-06-28 Federico Mena Quintero <federico@helixcode.com>
* cal-util/cal-component.[ch]: New files for the new iCalendar
component object. Today's properties: basic component type, UID,
SUMMARY.
* cal-util/Makefile.am: Added cal-component.[ch] to the list of
sources.
svn path=/trunk/; revision=3786
Diffstat (limited to 'calendar/cal-util/cal-component.h')
-rw-r--r-- | calendar/cal-util/cal-component.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/calendar/cal-util/cal-component.h b/calendar/cal-util/cal-component.h new file mode 100644 index 0000000000..1a5a271d9b --- /dev/null +++ b/calendar/cal-util/cal-component.h @@ -0,0 +1,89 @@ +/* Evolution calendar - iCalendar component object + * + * Copyright (C) 2000 Helix Code, Inc. + * + * Author: Federico Mena-Quintero <federico@helixcode.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef CAL_COMPONENT_H +#define CAL_COMPONENT_H + +#include <libgnome/gnome-defs.h> +#include <time.h> +#include <gtk/gtkobject.h> +#include <ical.h> + +BEGIN_GNOME_DECLS + + + +#define CAL_COMPONENT_TYPE (cal_component_get_type ()) +#define CAL_COMPONENT(obj) (GTK_CHECK_CAST ((obj), CAL_COMPONENT_TYPE, CalComponent)) +#define CAL_COMPONENT_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), CAL_COMPONENT_TYPE, \ + CalComponentClass)) +#define IS_CAL_COMPONENT(obj) (GTK_CHECK_TYPE ((obj), CAL_COMPONENT_TYPE)) +#define IS_CAL_COMPONENT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), CAL_COMPONENT_TYPE)) + +/* Types of calendar components to be stored by a CalComponent, as per RFC 2445. + * We don't put the alarm component type here since we store alarms as separate + * structures inside the other "real" components. + */ +typedef enum { + CAL_COMPONENT_NO_TYPE, + CAL_COMPONENT_EVENT, + CAL_COMPONENT_TODO, + CAL_COMPONENT_JOURNAL, + CAL_COMPONENT_FREEBUSY, + CAL_COMPONENT_TIMEZONE +} CalComponentVType; + +typedef struct _CalComponent CalComponent; +typedef struct _CalComponentClass CalComponentClass; + +struct _CalComponent { + GtkObject object; + + /* Private data */ + gpointer priv; +}; + +struct _CalComponentClass { + GtkObjectClass parent_class; +}; + +GtkType cal_component_get_type (void); + +char *cal_component_gen_uid (void); + +CalComponent *cal_component_new (void); + +CalComponent *cal_component_new_from_icalcomponent (icalcomponent *ical); + +CalComponentVType cal_component_get_vtype (CalComponent *comp); +void cal_component_set_vtype (CalComponent *comp, CalComponentVType type); + +const char *cal_component_get_uid (CalComponent *comp); +void cal_component_set_uid (CalComponent *comp, const char *uid); + +const char *cal_component_get_summary (CalComponent *comp); +void cal_component_set_summary (CalComponent *comp, const char *summary); + + + +END_GNOME_DECLS + +#endif |