/usr/include/GNUstep/NGCards/iCalRecurrenceRule.h is in sogo 2.2.17a-1.1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | /*
Copyright (C) 2004-2005 SKYRIX Software AG
Copyright (C) 2006-2010 Inverse inc.
This file is part of SOPE.
SOPE is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
SOPE 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 Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public
License along with SOPE; see the file COPYING. If not, write to the
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
*/
#ifndef __NGiCal_iCalRecurrenceRule_H_
#define __NGiCal_iCalRecurrenceRule_H_
#import "CardElement.h"
/*
iCalRecurrenceRule
Encapsulates a (probably complex) recurrence rule by offering
a high level API.
NOTE: as of now, only a very limited subset of RFC2445 is implemented.
Please see the unit tests for what is covered.
*/
// TODO: we could use string constants?
typedef enum {
iCalRecurrenceFrequenceSecondly = 1,
iCalRecurrenceFrequenceMinutely = 2,
iCalRecurrenceFrequenceHourly = 3,
iCalRecurrenceFrequenceDaily = 4,
iCalRecurrenceFrequenceWeekly = 5,
iCalRecurrenceFrequenceMonthly = 6,
iCalRecurrenceFrequenceYearly = 7,
} iCalRecurrenceFrequency;
typedef enum {
iCalWeekDayUnknown = -1,
iCalWeekDaySunday = 0,
iCalWeekDayMonday = 1,
iCalWeekDayTuesday = 2,
iCalWeekDayWednesday = 3,
iCalWeekDayThursday = 4,
iCalWeekDayFriday = 5,
iCalWeekDaySaturday = 6
} iCalWeekDay;
extern NSString *iCalWeekDayString[];
@class NSString, NSCalendarDate, NGCalendarDateRange, NSArray;
@class iCalByDayMask;
@interface iCalRecurrenceRule : CardElement
{
iCalByDayMask *dayMask;
}
+ (id) recurrenceRuleWithICalRepresentation: (NSString *) _iCalRep;
- (id) initWithString: (NSString *) _str;
/* accessors */
- (void) setFrequency: (iCalRecurrenceFrequency) _frequency;
- (iCalRecurrenceFrequency) frequency;
- (iCalRecurrenceFrequency) valueForFrequency: (NSString *) value;
- (void) setRepeatInterval: (int) _repeatInterval;
- (int) repeatInterval;
- (void) setInterval: (NSString *) _interval;
- (void) setWeekStart: (iCalWeekDay) _weekStart;
- (iCalWeekDay) weekStart;
- (void) setByDay: (NSString *) newByDay;
- (NSString *) byDay;
- (void) setByDayMask: (iCalByDayMask *) newMask;
- (iCalByDayMask *) byDayMask;
- (NSArray *) byMonthDay;
- (NSArray *) byMonth;
- (BOOL) hasByMask;
- (NSArray *) bySetPos;
/* count and untilDate are mutually exclusive */
- (void) setRepeatCount: (int) _repeatCount;
- (int) repeatCount;
- (void) setUntilDate: (NSCalendarDate *) _untilDate;
- (NSCalendarDate *) untilDate;
- (BOOL) isInfinite;
/* parse complete iCal RRULE */
- (void) setRrule: (NSString *) _rrule; // TODO: weird name? (better: RRule?)
- (NSString *) iCalRepresentationForWeekDay: (iCalWeekDay) _weekDay;;
@end
#endif /* __NGiCal_iCalRecurrenceRule_H_ */
|