2 Copyright (C) 2004-2005 SKYRIX Software AG
4 This file is part of OpenGroupware.org.
6 OGo is free software; you can redistribute it and/or modify it under
7 the terms of the GNU Lesser General Public License as published by the
8 Free Software Foundation; either version 2, or (at your option) any
11 OGo is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14 License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with OGo; see the file COPYING. If not, write to the
18 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
23 #include "iCalRepeatableEntityObject+OCS.h"
26 @implementation iCalRepeatableEntityObject (OCS)
28 - (NSArray *) _indexedRules: (NSArray *) rules
31 unsigned int i, count;
32 NSString *valuesString;
35 count = [rules count];
38 ma = [NSMutableArray arrayWithCapacity:count];
39 for (i = 0; i < count; i++)
41 iCalRecurrenceRule *rule;
43 rule = [rules objectAtIndex:i];
44 #warning we could return an NSArray instead and feed it as such to the iCalRecurrenceRule in SOGoAppointmentFolder...
45 valuesString = [[rule values] componentsJoinedByString: @";"];
46 [ma addObject: valuesString];
53 - (NSString *) cycleInfo
57 NSMutableDictionary *cycleInfo;
59 if ([self isRecurrent])
61 cycleInfo = [NSMutableDictionary dictionaryWithCapacity: 3];
64 rules = [self _indexedRules: [self recurrenceRules]];
66 [cycleInfo setObject: rules forKey: @"rules"];
68 rules = [self _indexedRules: [self exceptionRules]];
70 [cycleInfo setObject: rules forKey: @"exRules"];
72 rules = [self _indexedRules: [self exceptionDates]];
74 [cycleInfo setObject: rules forKey: @"exDates"];
76 value = [cycleInfo description];