summaryrefslogtreecommitdiffstats
path: root/mailnews/mime/public/nsIMimeMiscStatus.idl
diff options
context:
space:
mode:
Diffstat (limited to 'mailnews/mime/public/nsIMimeMiscStatus.idl')
-rw-r--r--mailnews/mime/public/nsIMimeMiscStatus.idl76
1 files changed, 76 insertions, 0 deletions
diff --git a/mailnews/mime/public/nsIMimeMiscStatus.idl b/mailnews/mime/public/nsIMimeMiscStatus.idl
new file mode 100644
index 000000000..3621cdb85
--- /dev/null
+++ b/mailnews/mime/public/nsIMimeMiscStatus.idl
@@ -0,0 +1,76 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* 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 "nsrootidl.idl"
+
+interface nsIChannel;
+interface nsIMsgMailNewsUrl;
+interface nsIUTF8StringEnumerator;
+interface nsIMsgDBHdr;
+interface nsIURI;
+interface nsIWritablePropertyBag2;
+
+[scriptable, uuid(4644FB25-5255-11d3-82B8-444553540002)]
+interface nsIMimeMiscStatus : nsISupports{
+
+ string GetWindowXULandJS();
+ string GetGlobalXULandJS();
+ string GetIndividualXUL(in string aName, in string aHeader, in string aEmail);
+
+ long GetMiscStatus(in string aName, in string aEmail);
+ string GetImageURL(in long aStatus);
+};
+
+// this is a simple interface which allows someone to listen to all the headers
+// that are discovered by mime. We can use this when displaying a message to update
+// the msg header in JS.
+[scriptable, uuid(e0e821f0-cecf-4cb3-be5b-ee58b6868343)]
+interface nsIMsgHeaderSink : nsISupports
+{
+ // You must finish consuming the iterators before returning from processHeaders. aHeaderNames and aHeaderValues will ALWAYS have the same
+ // number of elements in them
+ void processHeaders(in nsIUTF8StringEnumerator aHeaderNames, in nsIUTF8StringEnumerator aHeaderValues, in boolean dontCollectAddress);
+
+ void handleAttachment(in string contentType, in string url, in wstring displayName, in string uri,
+ in boolean aNotDownloaded);
+
+ /**
+ * Add a metadata field to the current attachment, e.g. "X-Mozilla-PartSize".
+ *
+ * @param field The field to add
+ * @param value The value of the field
+ */
+ void addAttachmentField(in string field, in string value);
+ void onEndAllAttachments();
+
+ // onEndMsgHeaders is called after libmime is done processing a message. At this point it is safe for
+ // elements like the UI to update junk status, process return receipts, etc.
+ void onEndMsgHeaders(in nsIMsgMailNewsUrl url);
+
+ // onEndMsgDownload is triggered when layout says it is actually done rendering
+ // the message body in the UI.
+ void onEndMsgDownload(in nsIMsgMailNewsUrl url);
+
+ attribute nsISupports securityInfo;
+
+ /**
+ * onMsgHasRemoteContent is called each time content policy encounters remote
+ * content that it will block from loading.
+ * @param aMsgHdr header of the message the content is located in
+ * @param aContentURI location that will be blocked.
+ * @param aCanOverride can the blocking be overridden or not
+ */
+ void onMsgHasRemoteContent(in nsIMsgDBHdr aMsgHdr, in nsIURI aContentURI, in boolean aCanOverride);
+
+ readonly attribute nsIMsgDBHdr dummyMsgHeader;
+
+ // used as a hook for extension mime content handlers to store data that can later
+ // be accessed by other parts of the code, e.g., UI code.
+ // TODO - Should replace securityInfo
+ readonly attribute nsIWritablePropertyBag2 properties;
+ // When streaming a new message, properties should be reset, so that there are
+ // not previous values lurking around.
+ void resetProperties();
+};