diff options
Diffstat (limited to 'mailnews/mime/public/nsIMimeMiscStatus.idl')
-rw-r--r-- | mailnews/mime/public/nsIMimeMiscStatus.idl | 76 |
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(); +}; |