[evolution/calendar-xfb: 1/9] added data types for XFB handling
- From: Christian Hilberg <chilberg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution/calendar-xfb: 1/9] added data types for XFB handling
- Date: Fri, 9 Nov 2012 16:46:53 +0000 (UTC)
commit 64e5527766cccfa96725984ce74817c5109f346b
Author: Christian Hilberg <chilberg src gnome org>
Date: Fri Nov 9 10:19:44 2012 +0100
added data types for XFB handling
* EMeetingXfbData currently can hold summary (subject)
and location data for free/busy objects
* the Kolab groupware server optionally sends this data
as X-SUMMARY and X-LOCATION ical properties with the
vfreebusy ical object as freebusy request answer
(http://wiki.kolab.org/Free_Busy#Kolab_Object_Storage_Format)
* Exchange has a very similar capability of attaching
this data to its freebusy answer, which trivially maps
to the above
(http://msdn.microsoft.com/en-us/library/aa563496%28v=exchg.140%29.aspx)
calendar/gui/e-meeting-types.h | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
---
diff --git a/calendar/gui/e-meeting-types.h b/calendar/gui/e-meeting-types.h
index b8f1057..689fe9c 100644
--- a/calendar/gui/e-meeting-types.h
+++ b/calendar/gui/e-meeting-types.h
@@ -26,10 +26,17 @@
#include <glib.h>
+/* Extended free/busy (XFB) vfreebusy properties */
+#define E_MEETING_FREE_BUSY_XPROP_SUMMARY "X-SUMMARY"
+#define E_MEETING_FREE_BUSY_XPROP_LOCATION "X-LOCATION"
+/* Maximum string length displayed in the XFB tooltip */
+#define E_MEETING_FREE_BUSY_XPROP_MAXLEN 200
+
G_BEGIN_DECLS
typedef struct _EMeetingTime EMeetingTime;
typedef struct _EMeetingFreeBusyPeriod EMeetingFreeBusyPeriod;
+typedef struct _EMeetingXfbData EMeetingXfbData;
/* These are used to specify whether an attendee is free or busy at a
* particular time. We'll probably replace this with a global calendar type.
@@ -55,12 +62,29 @@ struct _EMeetingTime
guint8 minute;
};
+/* This represents extended free/busy data (XFB) associated
+ * with a busy period (optional). Groupware servers like Kolab
+ * may send it as X-SUMMARY and X-LOCATION properties of vfreebusy
+ * calendar objects.
+ * See http://wiki.kolab.org/Free_Busy#Kolab_Object_Storage_Format
+ * for a reference. If we find that a vfreebusy object carries
+ * such information, we extract it and display it as a tooltip
+ * for the busy period in the meeting time selector scheduling page.
+ */
+struct _EMeetingXfbData
+{
+ /* if adding more items, adapt e_meeting_xfb_data_clear() */
+ gchar *summary;
+ gchar *location;
+};
+
/* This represents a busy period. */
struct _EMeetingFreeBusyPeriod
{
EMeetingTime start;
EMeetingTime end;
EMeetingFreeBusyType busy_type;
+ EMeetingXfbData xfb;
};
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]