summaryrefslogtreecommitdiffstats
path: root/comm/calendar/base/public/calIPeriod.idl
diff options
context:
space:
mode:
Diffstat (limited to 'comm/calendar/base/public/calIPeriod.idl')
-rw-r--r--comm/calendar/base/public/calIPeriod.idl58
1 files changed, 58 insertions, 0 deletions
diff --git a/comm/calendar/base/public/calIPeriod.idl b/comm/calendar/base/public/calIPeriod.idl
new file mode 100644
index 0000000000..d11f0ebdb3
--- /dev/null
+++ b/comm/calendar/base/public/calIPeriod.idl
@@ -0,0 +1,58 @@
+/* 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;
+};