From aa09636ec6017965b8704d0b3d19f3c59d6dd89e Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Fri, 19 Jun 2009 16:20:49 +0000 Subject: [PATCH] Monotone-Parent: 8e107fb288c79a6ab48898f0f819a6f622daaab3 Monotone-Revision: 693f258d762745d4b943a8edf8adf8f691c787f1 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2009-06-19T16:20:49 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 2 ++ .../Appointments/SOGoAppointmentFolder.m | 27 +++++++++++++++++++ SoObjects/SOGo/SOGoGCSFolder.m | 1 + 3 files changed, 30 insertions(+) diff --git a/ChangeLog b/ChangeLog index 57c072b42..5605e0b8b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,8 @@ (-davResourceType): return the "schedule-inbox" and "schedule-inbox" caldav types when the user is the owner and the collection is its personal calendar. + (-davCalendarComponentSet): new method that returns VEVENT and + VTODO. * SoObjects/SOGo/SOGoGCSFolder.m (davSyncCollection:): new method that implements the draft webdav sync specification diff --git a/SoObjects/Appointments/SOGoAppointmentFolder.m b/SoObjects/Appointments/SOGoAppointmentFolder.m index 1ac58a2a5..c26bc70f1 100644 --- a/SoObjects/Appointments/SOGoAppointmentFolder.m +++ b/SoObjects/Appointments/SOGoAppointmentFolder.m @@ -2240,6 +2240,33 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir return colType; } +- (SOGoWebDAVValue *) davCalendarComponentSet +{ + static SOGoWebDAVValue *componentSet = nil; + NSMutableArray *components; + + if (!componentSet) + { + components = [NSMutableArray array]; + /* Totally hackish.... we use the "n1" prefix because we know our + extensions will assign that one to ..:caldav but we really need to + handle element attributes */ + [components addObject: [SOGoWebDAVValue + valueForObject: @"" + attributes: nil]]; + [components addObject: [SOGoWebDAVValue + valueForObject: @"" + attributes: nil]]; + componentSet + = [davElementWithContent (@"supported-calendar-component-set", + XMLNS_CALDAV, + components) + asWebDAVValue]; + } + + return componentSet; +} + - (NSString *) davDescription { return @""; diff --git a/SoObjects/SOGo/SOGoGCSFolder.m b/SoObjects/SOGo/SOGoGCSFolder.m index f73faba05..ff6b0353b 100644 --- a/SoObjects/SOGo/SOGoGCSFolder.m +++ b/SoObjects/SOGo/SOGoGCSFolder.m @@ -22,6 +22,7 @@ */ #import +#import #import #import #import