Name Description Size Coverage
components.conf 5658 -
MboxCompactor.cpp 18162 -
MboxCompactor.h Helper class for mbox compaction, used to implement nsMsgBrkMBoxStore::AsyncCompact(). It iterates through each message in the store, and writes the ones we want to keep into a new mbox file. It'll also patch X-Mozilla-* headers as it goes, if asked to. If all goes well, the old mbox file is replaced by the new one. If any error occurs, the mbox is left untouched. Doesn't fiddle with folder or database or GUI. Just the mbox file. Any higher level database/folder changes are handled by the caller. The commit strategy works like this: 1) create a ".compact-temp" dir in the same directory as the mbox. 2) compact the mbox file into "foo/.temp-compact/inbox.compacting" 3) when successfully completed, rename to "foo/.temp-compact/inbox.compacted" 4) rename "foo/inbox" to "foo/.temp-compact/inbox.original" 5) invoke OnCompactionComplete() callback to tell the caller to commit any higher-level changes they need to make in sync with the new mbox (e.g. database changes). 6) rename "foo/.temp-compact/inbox.compacted" to "foo/inbox". 7) all done! If anything goes wrong at any stage, the old mbox will be restored to the state it started in. 4767 -
MboxScanner.cpp 5718 -
MboxScanner.h MboxScanner is a helper class for implementing nsMsgBrkMBoxStore::AsyncScan(). It derives from nsIStreamListener purely as an implementation detail, using itself as a listener to handle async streaming of message data. nsIStreamListener shouldn't be considered part of the public interface. It keeps a self reference, which will be released when the operation is finished. So the caller doesn't need to hold onto it. 1618 -
moz.build 1118 -
nsLocalMailFolder.cpp The list of expected local default folders and their flags. 132768 -
nsLocalMailFolder.h Interface for representing Local Mail folders. 11157 -
nsLocalUndoTxn.cpp 13169 -
nsLocalUndoTxn.h 2202 -
nsLocalUtils.cpp parses LocalMessageURI mailbox-message://folder1/folder2#123?header=none or mailbox-message://folder1/folder2#1234&part=1.2 puts folder URI in folderURI (mailbox://folder1/folder2) message key number in key 6505 -
nsLocalUtils.h 1099 -
nsMailboxProtocol.cpp the output_buffer_size must be larger than the largest possible line 2000 seems good for news jwz: I increased this to 4k since it must be big enough to hold the entire button-bar HTML, and with the new "mailto" format, that can contain arbitrarily long header fields like "references". fortezza: proxy auth is huge, buffer increased to 8k (sigh). 22410 -
nsMailboxProtocol.h should we pause for the next read 3959 -
nsMailboxServer.cpp 484 -
nsMailboxServer.h 588 -
nsMailboxService.cpp only used by open attachment... 20178 -
nsMailboxService.h only used by open attachment 2088 -
nsMailboxUrl.cpp 15968 -
nsMailboxUrl.h 3506 -
nsMsgBrkMBoxStore.cpp Class for handling Berkeley Mailbox stores. 38132 -
nsMsgBrkMBoxStore.h Class for handling Berkeley Mailbox stores. 1971 -
nsMsgFileHdr.cpp 12301 -
nsMsgFileHdr.h This mail-related class is a stub. You can help mailnews by expanding it. 1357 -
nsMsgLocalStoreUtils.cpp 12727 -
nsMsgLocalStoreUtils.h Utility Class for handling local mail stores. Berkeley Mailbox and MailDir stores inherit from this class to share some code. 3391 -
nsMsgMaildirStore.cpp Class for handling Maildir stores. 47651 -
nsMsgMaildirStore.h Class for handling Maildir stores. 2185 -
nsNoIncomingServer.cpp 6198 -
nsNoIncomingServer.h get some implementation from nsMsgIncomingServer 1402 -
nsNoneService.cpp 3935 -
nsNoneService.h 717 -
nsParseMailbox.cpp 83169 -
nsParseMailbox.h Parses a raw RFC5288 message header block, using the values to fill out a RawHdr struct ready for loading into our message DB. 7964 -
nsPop3Sink.cpp for logging to Error Console 22129 -
nsPop3Sink.h 1800 -
nsPop3URL.cpp 6308 -
nsPop3URL.h Pop3 specific event sinks 1227 -
nsRssIncomingServer.cpp 8659 -
nsRssIncomingServer.h 1688 -
nsRssService.cpp 3265 -
nsRssService.h 628 -
Pop3Channel.sys.mjs A channel to interact with POP3 server. @implements {nsIChannel} @implements {nsIRequest} 2506 -
Pop3Client.sys.mjs A structure to represent a response received from the server. A response can be a single status line of a multi-line data block. @typedef {object} Pop3Response @property {boolean} success - True for a positive status indicator, "+OK", or for an authorization challenge response "+". @property {string} status - This is the status indicator. Will be either "+OK", "-ERR" or, for server authorization challenges, "+". @property {string} statusText - The optional text following the status indicator. @property {string} data - The segment of a multi-line or a single line data response with status and statustext not present - the useful response data. A single char to represent a uidl status, possible values are: - 'k'=KEEP, - 'd'=DELETE - 'b'=TOO_BIG - 'f'=FETCH_BODY @typedef {string} UidlStatus 56998 -
Pop3IncomingServer.sys.mjs @implements {nsIPop3IncomingServer} @implements {nsILocalMailIncomingServer} @implements {nsIMsgIncomingServer} @implements {nsISupportsWeakReference} 11463 -
Pop3ProtocolHandler.sys.mjs @implements {nsIProtocolHandler} 1084 -
Pop3ProtocolInfo.sys.mjs @implements {nsIMsgProtocolInfo} 1196 -
Pop3Service.sys.mjs @implements {nsIPop3Service} 2016 -
StoreIndexer.cpp 10209 -
StoreIndexer.h StoreIndexer iterates through all the messages in a folder's local msgStore, building (or rebuilding) the message database. Future improvements: StoreIndexer should be decoupled from the folder. It should just take an nsIMsgPluggableStore to scan and a nsIMsgDatabase to populate, and that's it. Any folder-specific stuff (folder locking etc) should be handled higher up, by the calling code and its callback functions. NOTE: deriving from nsIStoreScanListener is _purely_ an implementation detail, and should not be considered part of the public interface! 3323 -