68 строки
1.5 KiB
Plaintext
68 строки
1.5 KiB
Plaintext
/* 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"
|
|
|
|
interface calIDateTime;
|
|
interface calIDuration;
|
|
|
|
[scriptable,uuid(ace2a74c-bd08-476f-be8b-6565abc50339)]
|
|
interface calIPeriod : nsISupports
|
|
{
|
|
attribute jsval icalPeriod;
|
|
|
|
/**
|
|
* isMutable is true if this instance is modifiable.
|
|
* If isMutable is false, any attempts to modify
|
|
* the object will throw NS_ERROR_OBJECT_IS_IMMUTABLE.
|
|
*/
|
|
readonly attribute boolean isMutable;
|
|
|
|
/**
|
|
* Make this calIPeriod instance immutable.
|
|
*/
|
|
void makeImmutable();
|
|
|
|
/**
|
|
* Clone this calIPeriod instance into a new
|
|
* mutable object.
|
|
*/
|
|
calIPeriod clone();
|
|
|
|
/**
|
|
* The start datetime of this period
|
|
*/
|
|
attribute calIDateTime start;
|
|
|
|
/**
|
|
* The end datetime of this period
|
|
*/
|
|
attribute calIDateTime end;
|
|
|
|
/**
|
|
* The duration, equal to end-start
|
|
*/
|
|
readonly attribute calIDuration duration;
|
|
|
|
|
|
/**
|
|
* Return a string representation of this instance.
|
|
*/
|
|
AUTF8String toString();
|
|
|
|
/**
|
|
* This object as an iCalendar DURATION string
|
|
*/
|
|
attribute ACString icalString;
|
|
};
|
|
|
|
/** Libical specific interfaces */
|
|
|
|
[ptr] native icalperiodtypeptr(struct icalperiodtype);
|
|
[builtinclass,scriptable,uuid(04ee525f-96db-4731-8d61-688e754df24f)]
|
|
interface calIPeriodLibical : calIPeriod
|
|
{
|
|
[noscript,notxpcom] void toIcalPeriod(in icalperiodtypeptr idt);
|
|
};
|