Name Description Size
MailNewsTypes.h kSizeUnknown is a special value of folder size that indicates the size is unknown yet. Usually this causes the folder to determine the real size immediately as it is queried by a consumer. 731
MailNewsTypes2.idl nsMsgKey is a unique ID for a particular message in a folder. If you want a handle to a message that will remain valid even after resorting the folder or otherwise changing their indices, you want one of these rather than a nsMsgViewIndex. nsMsgKeys don't survive local mail folder compression, however. In cases where the message key is not available yet (e.g. a header waiting to be persisted), `0xffffffff` is used as a placeholder. 4377
moz.build 2236
mozINewMailListener.idl Callback interface for objects interested in receiving new mail notifications from mozINewMailNotificationService NOTE: THIS INTERFACE IS UNDER ACTIVE DEVELOPMENT AND SUBJECT TO CHANGE, see https://bugzilla.mozilla.org/show_bug.cgi?id=715799 944
mozINewMailNotificationService.idl New mail notification service. This service watches all the relevant folder and message change events, preferences etc. and keeps track of the specific messages the user wants notifications for. NOTE: THIS INTERFACE IS UNDER ACTIVE DEVELOPMENT AND SUBJECT TO CHANGE, see https://bugzilla.mozilla.org/show_bug.cgi?id=715799 Registered mozINewMailListeners are called when the message count or specific list of notified messages changes. ** Should also document the observer service callback that allows plugins to override notifications by folder 2367
msgCore.h Include files we are going to want available to all files....these files include NSPR, memory, and string header files among others 7639
msgIOAuth2Module.idl A listener callback for OAuth2 SASL authentication. This would be represented as a promise, but this needs to be consumed by C++ code. 3088
nsICopyMessageListener.idl Use this for any object that wants to handle copying/moving messages to it 813
nsIFolderListener.idl nsIFolderListener defines callbacks to handle various notifications about changes in folders. These listeners can be attached to individual folders, or they can be registered globally, with nsIMsgMailSession. These notifications originate from nsIMsgFolder implementations. (nsIMsgFolder has corresponding methods for generating these notifications). 3218
nsIFolderLookupService.idl This service provides a way to lookup any nsIMsgFolder. When looking up folders by URL, note that the URL must be encoded to be a valid folder URL. Of particular note are the following requirements: - invalid characters in paths must be percent-encoded - the URL MUST NOT have a trailing slash (excepting root folders) - the case must match the expected value exactly An example of a valid URL is thus: imap://someuser%40google.com@imap.google.com/INBOX The contractid for this service is "@mozilla.org/mail/folder-lookup;1". 1735
nsIIncomingServerListener.idl Notification sent when a server is first loaded into the account manager. @param server Loaded server. 1018
nsIMailAuthModule.idl nsIAuthModule provides GSSAPI, NTLM authentications, but it is not scriptable. nsIMailAuthModule wraps nsIAuthModule and makes it easy to use in JavaScript. The contract id is: "@mozilla.org/mail/auth-module;1". @see nsIAuthModule 1479
nsIMailChannel.idl An interface that email-streaming channels can use to provide access to parsed message headers, message attachment info, and other metadata. The intended use is by QIing nsIChannel to nsIMailChannel. 3665
nsIMapiRegistry.idl This interface provides support for registering Mozilla as the default Mail Client. This interface can also be used to get/set the user preference for the default Mail Client. 1602
nsIMessenger.idl Saves a given message to a file or template. @param aURI The URI of the message to save @param aAsFile If true, save as file, otherwise save as a template @param aIdentity When saving as a template, this is used to determine the location to save the template to. @param aMsgFilename When saving as a file, the filename to save the message as, or the default filename for the file picker. @param aBypassFilePicker If not specified or false, this function will show a file picker when saving as a file. If true, no file picker will be shown. 6083
nsIMessengerMigrator.idl migrate old mailnews prefs to the 5.x world 549
nsIMessengerOSIntegration.idl Common interfaces to integrate with different platforms, how they are implemented depends on the specific platform. 931
nsIMessengerWindowService.idl @param aWindowType the type of window you want to create. i.e. "mail:3pane" @param aFolderURI the folder resource you want pre-selected (if any) @param aMsgKey a particular message you may want selected in that folder (if any) 824
nsIMessengerWindowsIntegration.idl 612
nsIMsgAccount.idl An account consists of an incoming server and one or more outgoing identities. An account is identified by a key, which is the <account> string in the account preferences, such as in mail.account.<account>.identities. 3441
nsIMsgAccountManager.idl Return the account with the provided key, or null if none found. 7981
nsIMsgAsyncPrompter.idl The nsIMsgAsyncPrompter is intended to provide a way to make asynchronous message prompts into synchronous ones - so that the user is only prompted with one at a time. 3013
nsIMsgBiffManager.idl 673
nsIMsgContentPolicy.idl This interface provide functions which help extension developers add their customized schema to the exposed protocls of nsMsgContentPolicy. By default, a list of existing protocols (such as imap and nntp) are allowed to process urls locally, while non-matching urls are required to be processed as external. This interface allows additional protocols to be added to the list of protocols that are processed locally. Typically this would be used in cases where a new messaging protocol is being added by an extension. 1436
nsIMsgCopyService.idl nsIMsgCopyService is a central point for kicking off message and folder copy/move operations. Each operation is queued up and executed in sequence. The actual work is handled by folder code in an asynchronous fashion. The folder indicates completion by calling notifyCompletion(). If the operation was initiated with a non-null nsIMsgCopyServiceListener, its OnStartCopy() and OnStopCopy() methods will be called when the operation begins/ends. Any errors are communicated via the result code parameter passed to OnStopCopy(). 5733
nsIMsgCopyServiceListener.idl Notify the observer that the message has started to be copied. This method is called only once, at the beginning of a message copyoperation. 2087
nsIMsgCustomColumnHandler.idl //TODO JavaDoc When implementing a custom column handler, the following methods are currently not supported: 1. isEditable 2. GetCellProperties 3. GetImageSrc 4. CycleCell The following methods of the nsIMsgCustomColumnHandler must be implemented: 5. GetCellText 6. GetSortStringForRow 7. GetSortLongForRow 8. isString You can, at your option, implement 9. GetRowProperties. With Bug 1192696, Grouped By Sort was implemented for custom columns. Implementers should consider that the value returned by GetSortStringForRow will be displayed in the grouped header row, as well as be used as the sort string. 1423
nsIMsgDBView.idl flags for GetViewFlags 22376
nsIMsgEnumerator.idl nsIJSIterator implements the JavaScript iterator protocol. For details on the JS side, see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#the_iterator_protocol 3330
nsIMsgFolder.idl The contract ID for this component is @mozilla.org/msgFolder/msgFolderService;1. 32076
nsIMsgFolderCache.idl nsIMsgFolderCache is a store of values which might be slow for the folder to calculate. For example: the number of unread messages. The account manager holds the cache, and each folder manipulates its cached properties via nsIMsgFolderCacheElement. 2078
nsIMsgFolderCacheElement.idl Interface for a folder to get/set its values in the foldercache. 1906
nsIMsgFolderListener.idl nsIMsgFolderListener defines the callbacks which are invoked by nsIMsgFolderNotificationService. This is similar to nsIFolderListener, but with slightly different semantics, especially w.r.t. moving messages and folders. Some listeners want to know about moves, instead of getting an itemAdded and itemRemoved notification. Folder listeners also only tend to get called if a view is open on the folder, which is not always the case. I don't want to change nsIFolderListener at this point since there are lots of extensions that rely on it. Eventually, these two interfaces should be combined somehow. 9919
nsIMsgFolderNotificationService.idl nsIMsgFolderNotificationService provides a central point for sending out notifications related to folders. nsIMsgFolderListeners are registered with the service along with flags to indicate which kinds of notifications are of interest. 4936
nsIMsgHdr.idl flag handling routines 4242
nsIMsgIdentity.idl This interface contains all the personal outgoing mail information for a given person. Each identity is identified by a key, which is the <id> string in the identity preferences, such as in mail.identity.<id>.replyTo. 8807
nsIMsgIncomingServer.idl Interface for incoming mail/news host this is the base interface for all mail server types (imap, pop, nntp, etc) often you will want to add extra interfaces that give you server-specific attributes and methods. 19268
nsIMsgMailNewsUrl.idl Transport-level security information (if any), in the case of a security error having occurred. This value should be considered undefined if an NSS error has not occurred. Read it as: "the secInfo that was being used when a failure occurred", not: "the secInfo that failed". Seems a bit ugly adding more state here, but the idea is that a nsIUrlListener.OnStopRunningUrl() needs to be able to access a bad certificate, so as to have the option of adding an exemption (See Bug 1590473). 8512
nsIMsgMailSession.idl The mail session is a replacement for the old 4.x MSG_Master object. It contains mail session generic information such as the account manager, etc I'm starting this off as an empty interface and as people feel they need to add more information to it, they can. I think this is a better approach than trying to port over the old MSG_Master in its entirety as that had a lot of cruft in it.... 3409
nsIMsgMdnGenerator.idl A generator for Message Disposition Notification (MDN) replies. MDN replies inform the sender of a message upon actions taken by the recipient or on behalf of the recipient, such as displaying or deleting the message. See https://www.rfc-editor.org/rfc/rfc8098 for details. 3023
nsIMsgMessageService.idl nsIMsgMessageService provides higher-level, UI-oriented calls for dealing with messages in a protocol-agnostic way. Things the user would recognise as actions they initiated. This covers things like displaying messages, copying them, saving them to disk, saving attachments... 9069
nsIMsgOfflineManager.idl 1127
nsIMsgPluggableStore.idl Pluggable message store interface. Each incoming server can have a different message store. All methods are synchronous unless otherwise specified. A single store holds messages for any number of folders. Messages in a store are given a `storeToken`, a unique ID which callers use to reference individual messages. `storeToken`s are: - Arbitrary. They are strings assigned when a message is added to the store. - Unique to the folder the message is in (not unique over the whole store!). - Opaque. Callers shouldn't make any assumptions about format. - Constant. Mostly. They may change during a compaction operation. In practice: - For mbox, `storeToken` is the offset of a message within the mbox file. - For maildir, it's the filename of the message. 22994
nsIMsgProgress.idl Open the progress dialog, you can specify parameters through an xpcom object 1368
nsIMsgProtocolHandler.idl 526
nsIMsgProtocolInfo.idl the default path to store local data for this type of server. Each server is usually in a subdirectory below this 3015
nsIMsgPurgeService.idl 454
nsIMsgShutdown.idl Inform the caller whether or not the task needs to be run. This method gives the task the flexibility to cancel running a task on shutdown if nothing needs to be run. 2250
nsIMsgStatusFeedback.idl aStatusFeedback: a wrapped JS status feedback object 774
nsIMsgTagService.idl Keys are the internal representation of tags, and use a limited range of characters, basically the characters allowed in imap keywords, which are alphanumeric characters, but don't include spaces. Keys are stored on the imap server, in local mail messages, and in summary files. Tags are the user visible representation of keys, and are full unicode strings. Tags should allow any unicode character. This service will do the mapping between keys and tags. When a tag is added, we'll need to "compute" the corresponding key to use. This will probably entail replacing illegal ascii characters (' ', '/', etc) with '_' and then converting to imap mod utf7. We'll then need to make sure that no other keyword has the same value since that algorithm doesn't guarantee a unique mapping. Tags are sorted internally by 'importance' by their ordinal strings (which by default are equal to a tag's key and thus only stored if different). The alphanumerically 'smallest' string is called the 'most important' one and comes first in any sorted array. The remainder follows in ascending order. 3252
nsIMsgThread.idl 1496
nsIMsgTxn.idl Base class for transactions that can be exposed via the undo/redo UI. Just adds a msgWindow and type field to the base nsITransaction. 791
nsIMsgUserFeedbackListener.idl Implement this interface to subscribe to errors and warnings passed out via nsIMsgMailSession. 1714
nsIMsgWindow.idl @note Setting this attribute has various side effects, including wiring up this object as the parent nsIURIContentListener for the passed-in docshell as well as setting the message content policy service to listen for OnLocationChange notifications. 2050
nsISpamSettings.idl 0 for nothing, 100 for highest 2962
nsIStatusBarBiffManager.idl 563
nsIStopwatch.idl Simple stopwatch mechanism for determining the amount of wall-clock time and CPU time (user + system) that has elapsed. It is not fancy. It is either running or it is not. If you want coherent cpu and real time values, then you had better stop it first. It does not keep counting when stopped, although one could add a resumeRetroactive or something to accomplish that. 1568
nsISubscribableServer.idl A listener to receive notification of the subscribable folders of a server. 2593
nsIUrlListener.idl Called to signify the beginning of an URL processing. @param url URL being processed. 997
nsIUserInfo.idl These are things the system may know about the current user. 874
nsMsgFolderFlags.idl @name Folder Type Flags These flags define the type of folder. Exactly one will be set. @{ 5623
nsMsgGroupnameFlags.h Flags in the subscribe pane (used inside of MSG_GroupNameLine). Where the flags overlap with the nsMsgFolderFlags flags, it has the same value, to reduce the chance of someone using the wrong constant. 1911
nsMsgHeaderMasks.h This set enumerates the header fields which may be displayed in the message composition window. 2256
nsMsgLocalFolderHdrs.h The Netscape-specific header fields that we use for storing our various bits of state in mail folders. 2069
nsMsgMessageFlags.idl This message has already gone, but the folder hasn't been compacted yet. Since actually removing a message from a folder is a semi-expensive operation, we tend to delay it; messages with this bit set will be removed the next time folder compaction is done. Once this bit is set, it never gets un-set. 7416