diff options
Diffstat (limited to 'comm/mailnews/imap/src/ImapProtocolInfo.jsm')
-rw-r--r-- | comm/mailnews/imap/src/ImapProtocolInfo.jsm | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/comm/mailnews/imap/src/ImapProtocolInfo.jsm b/comm/mailnews/imap/src/ImapProtocolInfo.jsm new file mode 100644 index 0000000000..9d12175791 --- /dev/null +++ b/comm/mailnews/imap/src/ImapProtocolInfo.jsm @@ -0,0 +1,44 @@ +/* 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/. */ + +const EXPORTED_SYMBOLS = ["ImapProtocolInfo"]; + +var { MsgProtocolInfo } = ChromeUtils.importESModule( + "resource:///modules/MsgProtocolInfo.sys.mjs" +); + +/** + * @implements {nsIMsgProtocolInfo} + */ +class ImapProtocolInfo extends MsgProtocolInfo { + QueryInterface = ChromeUtils.generateQI(["nsIMsgProtocolInfo"]); + + serverIID = Components.ID("{b02a4e1c-0d9e-498c-8b9d-18917ba9f65b}"); + + requiresUsername = true; + preflightPrettyNameWithEmailAddress = true; + canDelete = true; + canLoginAtStartUp = true; + canDuplicate = true; + canGetMessages = true; + canGetIncomingMessages = true; + defaultDoBiff = true; + showComposeMsgLink = true; + foldersCreatedAsync = true; + + getDefaultServerPort(isSecure) { + return isSecure + ? Ci.nsIImapUrl.DEFAULT_IMAPS_PORT + : Ci.nsIImapUrl.DEFAULT_IMAP_PORT; + } + + // @see MsgProtocolInfo.sys.mjs + RELATIVE_PREF = "mail.root.imap-rel"; + ABSOLUTE_PREF = "mail.root.imap"; + DIR_SERVICE_PROP = "IMapMD"; +} + +ImapProtocolInfo.prototype.classID = Components.ID( + "{1d9473bc-423a-4632-ad5d-802154e80f6f}" +); |