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