summaryrefslogtreecommitdiffstats
path: root/comm/calendar/base/public/calIWeekInfoService.idl
diff options
context:
space:
mode:
Diffstat (limited to 'comm/calendar/base/public/calIWeekInfoService.idl')
-rw-r--r--comm/calendar/base/public/calIWeekInfoService.idl50
1 files changed, 50 insertions, 0 deletions
diff --git a/comm/calendar/base/public/calIWeekInfoService.idl b/comm/calendar/base/public/calIWeekInfoService.idl
new file mode 100644
index 0000000000..c688579418
--- /dev/null
+++ b/comm/calendar/base/public/calIWeekInfoService.idl
@@ -0,0 +1,50 @@
+/* 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;
+
+/**
+ * This interface will calculate a week title from a given datetime. This
+ * will depends on the users preferences.
+ * Extensions might override the default implementation, in order to
+ * generate week titles aimed at special cases (like weeknumbers for a
+ * schoolyear)
+ */
+[scriptable, uuid(650fd33b-ebf4-46fa-b9ca-dd80b2451498)]
+interface calIWeekInfoService: nsISupports
+{
+ /**
+ * Return the week title. It's meant to be displayed.
+ * (Usually, will return a weeknumber, but might return a string like Q1W4)
+ *
+ * @param dateTime
+ * The dateTime to get the weektitle for
+ * @returns
+ * A string, representing the week title. Will usually be the
+ * week number. Every week (7 days) should get a different string,
+ * but the switch from one week to the next isn't necessarily
+ * on sunday.
+ */
+ AString getWeekTitle(in calIDateTime dateTime);
+
+ /**
+ * Gets the first day of a week of a passed day under consideration
+ * of the preference setting "calendar.week.start"
+ *
+ * @param aDate The dateTime to get get the start of the week for
+ * @return A dateTime-object denoting the first day of the week
+ */
+ calIDateTime getStartOfWeek(in calIDateTime dateTime);
+
+ /**
+ * Gets the last day of a week of a passed day under consideration
+ * of the preference setting "calendar.week.start"
+ *
+ * @param aDate The dateTime to get get the last day of the week for
+ * @return A dateTime-object denoting the last day of the week
+ */
+ calIDateTime getEndOfWeek(in calIDateTime dateTime);
+};