summaryrefslogtreecommitdiffstats
path: root/comm/calendar/base/public/calIItipTransport.idl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--comm/calendar/base/public/calIItipTransport.idl48
1 files changed, 48 insertions, 0 deletions
diff --git a/comm/calendar/base/public/calIItipTransport.idl b/comm/calendar/base/public/calIItipTransport.idl
new file mode 100644
index 0000000000..72f6b7b63d
--- /dev/null
+++ b/comm/calendar/base/public/calIItipTransport.idl
@@ -0,0 +1,48 @@
+/* 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 calIItipItem;
+interface calIAttendee;
+interface calIDateTime;
+
+/**
+ * calIItipTransport is a generic transport interface that is implemented
+ * by transports (eg: email, XMPP, etc.) wishing to send calIItipItems
+ */
+[scriptable, uuid(caedabb9-d886-4814-ada5-a5636d2fb939)]
+interface calIItipTransport : nsISupports
+{
+ /**
+ * Scheme to be used to prefix attendees. For example, the Email transport
+ * should return "mailto".
+ */
+ readonly attribute AUTF8String scheme;
+
+ /**
+ * Sending identity. This can be set to change the "sender" identity from
+ * defaultIdentity above.
+ */
+ attribute AUTF8String senderAddress;
+
+ /**
+ * Type of the transport: email, xmpp, etc.
+ */
+ readonly attribute AUTF8String type;
+
+ /**
+ * Sends a calIItipItem to the recipients using the specified title and
+ * alternative representation. If a calIItipItem is attached, then an ICS
+ * representation of those objects are generated and attached to the email.
+ * If the calIItipItem is null, then the item(s) is sent without any
+ * text/calendar mime part.
+ * @param recipientArray array of recipients
+ * @param calIItipItem set of calIItems encapsulated as calIItipItems
+ * @param sender the attendee the calIItipItem is coming from.
+ */
+ boolean sendItems(in Array<calIAttendee> recipientArray,
+ in calIItipItem item,
+ in calIAttendee sender);
+};