diff options
Diffstat (limited to 'comm/calendar/base/public/calIRecurrenceRule.idl')
-rw-r--r-- | comm/calendar/base/public/calIRecurrenceRule.idl | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/comm/calendar/base/public/calIRecurrenceRule.idl b/comm/calendar/base/public/calIRecurrenceRule.idl new file mode 100644 index 0000000000..8694036a8c --- /dev/null +++ b/comm/calendar/base/public/calIRecurrenceRule.idl @@ -0,0 +1,53 @@ +/* -*- Mode: idl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsISupports.idl" + +#include "calIRecurrenceItem.idl" + +interface calIItemBase; +interface calIDateTime; + +// an interface implementing a RRULE + +[scriptable, uuid(e965a91a-49fa-41b5-b668-1a824a73bdbf)] +interface calIRecurrenceRule : calIRecurrenceItem +{ + // + // rule-based recurrence + // + + // null/"", "SECONDLY", "MINUTELY", "HOURLY", "DAILY", "WEEKLY", + // "MONTHLY", "YEARLY" + attribute AUTF8String type; + + // repeat every N of type + attribute long interval; + + // These two are mutually exclusive; whichever is set + // invalidates the other. It's only valid to read the one + // that was set; the other will throw NS_ERROR_FAILURE. Use + // isByCount to figure out whether count or untilDate is valid. + // Setting count to -1 or untilDate to null indicates infinite + // recurrence. + attribute long count; + attribute calIDateTime untilDate; + + // if this isn't infinite recurrence, this flag indicates whether + // it was set by count or not + readonly attribute boolean isByCount; + + // The week start for this rule, used for certain calculations. This is a + // value from 0=Sunday to 6=Saturday. + attribute short weekStart; + + // the components defining the recurrence + // "BYSECOND", "BYMINUTE", "BYHOUR", "BYDAY", + // "BYMONTHDAY", "BYYEARDAY", "BYWEEKNO", "BYMONTH", + // "BYSETPOS" + Array<short> getComponent (in AUTF8String aComponentType); + void setComponent (in AUTF8String aComponentType, in Array<short> aValues); + +}; |