Bug 1773772 part 7 - Convert protocol binary components registration to components.conf. draft
authorGeoff Lankow <geoff@darktrojan.net>
Thu, 30 Jun 2022 11:35:05 +1200
changeset 119251 f124d19358d70bb7c89ab49cc3cbea375836bb34
parent 119250 697a2887ca4a541125c357ed6387c997241760bb
child 119252 431872986b57badd37e0332da5104ab0b30876ba
push id16207
push usergeoff@darktrojan.net
push dateFri, 01 Jul 2022 00:16:28 +0000
treeherdertry-comm-central@3c2921d99115 [default view] [failures only]
bugs1773772
Bug 1773772 part 7 - Convert protocol binary components registration to components.conf. Differential Revision: https://phabricator.services.mozilla.com/D150711
mailnews/build/nsMailModule.cpp
mailnews/imap/public/moz.build
mailnews/imap/public/nsIImapHostSessionList.h
mailnews/imap/src/components.conf
mailnews/imap/src/nsImapHostSessionList.h
mailnews/imap/src/nsImapIncomingServer.cpp
mailnews/imap/src/nsImapIncomingServer.h
mailnews/imap/src/nsImapMailFolder.cpp
mailnews/imap/src/nsImapNamespace.cpp
mailnews/imap/src/nsImapProtocol.cpp
mailnews/imap/src/nsImapProtocol.h
mailnews/imap/src/nsImapServerResponseParser.h
mailnews/imap/src/nsImapUrl.cpp
mailnews/local/src/components.conf
mailnews/news/src/components.conf
--- a/mailnews/build/nsMailModule.cpp
+++ b/mailnews/build/nsMailModule.cpp
@@ -73,44 +73,16 @@
 #  include "msgJsAccountCID.h"
 #  include "JaAbDirectory.h"
 #  include "JaCompose.h"
 #  include "JaIncomingServer.h"
 #  include "JaMsgFolder.h"
 #  include "JaUrl.h"
 #endif
 
-////////////////////////////////////////////////////////////////////////////////
-// imap includes
-////////////////////////////////////////////////////////////////////////////////
-#include "nsMsgImapCID.h"
-#include "nsImapHostSessionList.h"
-#include "nsImapIncomingServer.h"
-#include "nsImapService.h"
-#include "nsImapMailFolder.h"
-#include "nsImapUrl.h"
-#include "nsImapProtocol.h"
-#include "nsAutoSyncManager.h"
-
-////////////////////////////////////////////////////////////////////////////////
-// local includes
-////////////////////////////////////////////////////////////////////////////////
-#include "nsMsgLocalCID.h"
-
-#include "nsMailboxUrl.h"
-#include "nsPop3URL.h"
-#include "nsMailboxService.h"
-#include "nsLocalMailFolder.h"
-#include "nsParseMailbox.h"
-#include "nsPop3Service.h"
-
-#include "nsNoneService.h"
-#include "nsPop3IncomingServer.h"
-#include "nsNoIncomingServer.h"
-
 ///////////////////////////////////////////////////////////////////////////////
 // msgdb includes
 ///////////////////////////////////////////////////////////////////////////////
 #include "nsMsgDBCID.h"
 #include "nsMailDatabase.h"
 #include "nsNewsDatabase.h"
 #include "nsImapMailDatabase.h"
 
@@ -127,29 +99,16 @@
 #include "nsMimeEmitterCID.h"
 #include "nsIMimeEmitter.h"
 #include "nsMimeHtmlEmitter.h"
 #include "nsMimeRawEmitter.h"
 #include "nsMimeXmlEmitter.h"
 #include "nsMimePlainEmitter.h"
 
 ///////////////////////////////////////////////////////////////////////////////
-// news includes
-///////////////////////////////////////////////////////////////////////////////
-#include "nsMsgNewsCID.h"
-#include "nsNntpUrl.h"
-#include "nsNntpService.h"
-#include "nsNntpIncomingServer.h"
-#include "nsNNTPNewsgroupPost.h"
-#include "nsNNTPNewsgroupList.h"
-#include "nsNNTPArticleList.h"
-#include "nsNewsDownloadDialogArgs.h"
-#include "nsNewsFolder.h"
-
-///////////////////////////////////////////////////////////////////////////////
 // mail views includes
 ///////////////////////////////////////////////////////////////////////////////
 #include "nsMsgMailViewsCID.h"
 #include "nsMsgMailViewList.h"
 
 ///////////////////////////////////////////////////////////////////////////////
 // mdn includes
 ///////////////////////////////////////////////////////////////////////////////
@@ -212,72 +171,16 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(JaCppUrlD
 NS_DEFINE_NAMED_CID(JACPPABDIRECTORYDELEGATOR_CID);
 NS_DEFINE_NAMED_CID(JACPPCOMPOSEDELEGATOR_CID);
 NS_DEFINE_NAMED_CID(JACPPINCOMINGSERVERDELEGATOR_CID);
 NS_DEFINE_NAMED_CID(JACPPMSGFOLDERDELEGATOR_CID);
 NS_DEFINE_NAMED_CID(JACPPURLDELEGATOR_CID);
 #endif
 
 ////////////////////////////////////////////////////////////////////////////////
-// imap factories
-////////////////////////////////////////////////////////////////////////////////
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsImapUrl)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsImapProtocol)
-NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsImapHostSessionList, Init)
-NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsImapIncomingServer, Init)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsImapService)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsImapMailFolder)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsImapMockChannel)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsAutoSyncManager)
-
-NS_DEFINE_NAMED_CID(NS_IMAPURL_CID);
-NS_DEFINE_NAMED_CID(NS_IMAPPROTOCOL_CID);
-NS_DEFINE_NAMED_CID(NS_IMAPMOCKCHANNEL_CID);
-NS_DEFINE_NAMED_CID(NS_IIMAPHOSTSESSIONLIST_CID);
-NS_DEFINE_NAMED_CID(NS_IMAPINCOMINGSERVER_CID);
-NS_DEFINE_NAMED_CID(NS_IMAPRESOURCE_CID);
-NS_DEFINE_NAMED_CID(NS_IMAPSERVICE_CID);
-NS_DEFINE_NAMED_CID(NS_AUTOSYNCMANAGER_CID);
-
-////////////////////////////////////////////////////////////////////////////////
-// local factories
-////////////////////////////////////////////////////////////////////////////////
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsMailboxUrl)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsMsgMailNewsUrl)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsPop3URL)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsMsgMailboxParser)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsMailboxService)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsPop3Service)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsNoneService)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsMsgLocalMailFolder)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsParseMailMessageState)
-NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPop3IncomingServer, Init)
-NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsRssIncomingServer, Init)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsRssService)
-NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsNoIncomingServer, Init)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsMsgBrkMBoxStore)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsMsgMaildirStore)
-
-NS_DEFINE_NAMED_CID(NS_MAILBOXURL_CID);
-NS_DEFINE_NAMED_CID(NS_MSGMAILNEWSURL_CID);
-NS_DEFINE_NAMED_CID(NS_MAILBOXSERVICE_CID);
-NS_DEFINE_NAMED_CID(NS_MAILBOXPARSER_CID);
-NS_DEFINE_NAMED_CID(NS_POP3URL_CID);
-NS_DEFINE_NAMED_CID(NS_POP3SERVICE_CID);
-NS_DEFINE_NAMED_CID(NS_NONESERVICE_CID);
-NS_DEFINE_NAMED_CID(NS_LOCALMAILFOLDERRESOURCE_CID);
-NS_DEFINE_NAMED_CID(NS_POP3INCOMINGSERVER_CID);
-NS_DEFINE_NAMED_CID(NS_NOINCOMINGSERVER_CID);
-NS_DEFINE_NAMED_CID(NS_PARSEMAILMSGSTATE_CID);
-NS_DEFINE_NAMED_CID(NS_RSSSERVICE_CID);
-NS_DEFINE_NAMED_CID(NS_RSSINCOMINGSERVER_CID);
-NS_DEFINE_NAMED_CID(NS_BRKMBOXSTORE_CID);
-NS_DEFINE_NAMED_CID(NS_MAILDIRSTORE_CID);
-
-////////////////////////////////////////////////////////////////////////////////
 // msgdb factories
 ////////////////////////////////////////////////////////////////////////////////
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMsgDBService)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMailDatabase)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsNewsDatabase)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsImapMailDatabase)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMsgRetentionSettings)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMsgDownloadSettings)
@@ -313,37 +216,16 @@ NS_DEFINE_NAMED_CID(NS_RAW_MIME_EMITTER_
 
 ////////////////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////////////////
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsFts3Tokenizer)
 
 NS_DEFINE_NAMED_CID(NS_FTS3TOKENIZER_CID);
 
 ////////////////////////////////////////////////////////////////////////////////
-// news factories
-////////////////////////////////////////////////////////////////////////////////
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsNntpUrl)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsNntpService)
-NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsNntpIncomingServer, Init)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsNNTPArticleList)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsNNTPNewsgroupPost)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsNNTPNewsgroupList)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsMsgNewsFolder)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsNewsDownloadDialogArgs)
-
-NS_DEFINE_NAMED_CID(NS_NNTPSERVICE_CID);
-NS_DEFINE_NAMED_CID(NS_NNTPURL_CID);
-NS_DEFINE_NAMED_CID(NS_NEWSFOLDERRESOURCE_CID);
-NS_DEFINE_NAMED_CID(NS_NNTPINCOMINGSERVER_CID);
-NS_DEFINE_NAMED_CID(NS_NNTPNEWSGROUPPOST_CID);
-NS_DEFINE_NAMED_CID(NS_NNTPNEWSGROUPLIST_CID);
-NS_DEFINE_NAMED_CID(NS_NNTPARTICLELIST_CID);
-NS_DEFINE_NAMED_CID(NS_NEWSDOWNLOADDIALOGARGS_CID);
-
-////////////////////////////////////////////////////////////////////////////////
 // mail view factories
 ////////////////////////////////////////////////////////////////////////////////
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMsgMailViewList)
 
 NS_DEFINE_NAMED_CID(NS_MSGMAILVIEWLIST_CID);
 
 ////////////////////////////////////////////////////////////////////////////////
 // mdn factories
@@ -419,45 +301,16 @@ const mozilla::Module::CIDEntry kMailNew
     {&kJACPPCOMPOSEDELEGATOR_CID, false, nullptr,
      JaCppComposeDelegatorConstructor},
     {&kJACPPINCOMINGSERVERDELEGATOR_CID, false, nullptr,
      JaCppIncomingServerDelegatorConstructor},
     {&kJACPPMSGFOLDERDELEGATOR_CID, false, nullptr,
      JaCppMsgFolderDelegatorConstructor},
     {&kJACPPURLDELEGATOR_CID, false, nullptr, JaCppUrlDelegatorConstructor},
 #endif
-    // Imap Entries
-    {&kNS_IMAPURL_CID, false, NULL, nsImapUrlConstructor},
-    {&kNS_IMAPPROTOCOL_CID, false, nullptr, nsImapProtocolConstructor},
-    {&kNS_IMAPMOCKCHANNEL_CID, false, nullptr, nsImapMockChannelConstructor},
-    {&kNS_IIMAPHOSTSESSIONLIST_CID, false, nullptr,
-     nsImapHostSessionListConstructor},
-    {&kNS_IMAPINCOMINGSERVER_CID, false, nullptr,
-     nsImapIncomingServerConstructor},
-    {&kNS_IMAPRESOURCE_CID, false, nullptr, nsImapMailFolderConstructor},
-    {&kNS_IMAPSERVICE_CID, false, nullptr, nsImapServiceConstructor},
-    {&kNS_AUTOSYNCMANAGER_CID, false, nullptr, nsAutoSyncManagerConstructor},
-    // Local Entries
-    {&kNS_MAILBOXURL_CID, false, NULL, nsMailboxUrlConstructor},
-    {&kNS_MSGMAILNEWSURL_CID, false, NULL, nsMsgMailNewsUrlConstructor},
-    {&kNS_MAILBOXSERVICE_CID, false, NULL, nsMailboxServiceConstructor},
-    {&kNS_MAILBOXPARSER_CID, false, NULL, nsMsgMailboxParserConstructor},
-    {&kNS_POP3URL_CID, false, NULL, nsPop3URLConstructor},
-    {&kNS_POP3SERVICE_CID, false, NULL, nsPop3ServiceConstructor},
-    {&kNS_NONESERVICE_CID, false, NULL, nsNoneServiceConstructor},
-    {&kNS_LOCALMAILFOLDERRESOURCE_CID, false, NULL,
-     nsMsgLocalMailFolderConstructor},
-    {&kNS_POP3INCOMINGSERVER_CID, false, NULL, nsPop3IncomingServerConstructor},
-    {&kNS_NOINCOMINGSERVER_CID, false, NULL, nsNoIncomingServerConstructor},
-    {&kNS_PARSEMAILMSGSTATE_CID, false, NULL,
-     nsParseMailMessageStateConstructor},
-    {&kNS_RSSSERVICE_CID, false, NULL, nsRssServiceConstructor},
-    {&kNS_RSSINCOMINGSERVER_CID, false, NULL, nsRssIncomingServerConstructor},
-    {&kNS_BRKMBOXSTORE_CID, false, NULL, nsMsgBrkMBoxStoreConstructor},
-    {&kNS_MAILDIRSTORE_CID, false, NULL, nsMsgMaildirStoreConstructor},
     // msgdb Entries
     {&kNS_MAILDB_CID, false, NULL, nsMailDatabaseConstructor},
     {&kNS_NEWSDB_CID, false, NULL, nsNewsDatabaseConstructor},
     {&kNS_IMAPDB_CID, false, NULL, nsImapMailDatabaseConstructor},
     {&kNS_MSG_RETENTIONSETTINGS_CID, false, NULL,
      nsMsgRetentionSettingsConstructor},
     {&kNS_MSG_DOWNLOADSETTINGS_CID, false, NULL,
      nsMsgDownloadSettingsConstructor},
@@ -469,26 +322,16 @@ const mozilla::Module::CIDEntry kMailNew
      nsStreamConverterConstructor},
     {&kNS_HTML_MIME_EMITTER_CID, false, NULL,
      nsMimeHtmlDisplayEmitterConstructor},
     {&kNS_XML_MIME_EMITTER_CID, false, NULL, nsMimeXmlEmitterConstructor},
     {&kNS_PLAIN_MIME_EMITTER_CID, false, NULL, nsMimePlainEmitterConstructor},
     {&kNS_RAW_MIME_EMITTER_CID, false, NULL, nsMimeRawEmitterConstructor},
     // Fts 3
     {&kNS_FTS3TOKENIZER_CID, false, NULL, nsFts3TokenizerConstructor},
-    // News Entries
-    {&kNS_NNTPURL_CID, false, NULL, nsNntpUrlConstructor},
-    {&kNS_NNTPSERVICE_CID, false, NULL, nsNntpServiceConstructor},
-    {&kNS_NEWSFOLDERRESOURCE_CID, false, NULL, nsMsgNewsFolderConstructor},
-    {&kNS_NNTPINCOMINGSERVER_CID, false, NULL, nsNntpIncomingServerConstructor},
-    {&kNS_NNTPNEWSGROUPPOST_CID, false, NULL, nsNNTPNewsgroupPostConstructor},
-    {&kNS_NNTPNEWSGROUPLIST_CID, false, NULL, nsNNTPNewsgroupListConstructor},
-    {&kNS_NNTPARTICLELIST_CID, false, NULL, nsNNTPArticleListConstructor},
-    {&kNS_NEWSDOWNLOADDIALOGARGS_CID, false, NULL,
-     nsNewsDownloadDialogArgsConstructor},
     // Mail View Entries
     {&kNS_MSGMAILVIEWLIST_CID, false, NULL, nsMsgMailViewListConstructor},
     // mdn Entries
     {&kNS_MSGMDNGENERATOR_CID, false, NULL, nsMsgMdnGeneratorConstructor},
     // SMime Entries
     {&kNS_MSGCOMPOSESECURE_CID, false, NULL, nsMsgComposeSecureConstructor},
     {&kNS_SMIMEJSJELPER_CID, false, NULL, nsSMimeJSHelperConstructor},
     {&kNS_SMIMEENCRYPTURISERVICE_CID, false, NULL,
@@ -516,52 +359,16 @@ const mozilla::Module::ContractIDEntry k
 #if JSACCOUNT_ENABLED
     {JACPPABDIRECTORYDELEGATOR_CONTRACTID, &kJACPPABDIRECTORYDELEGATOR_CID},
     {JACPPCOMPOSEDELEGATOR_CONTRACTID, &kJACPPCOMPOSEDELEGATOR_CID},
     {JACPPINCOMINGSERVERDELEGATOR_CONTRACTID,
      &kJACPPINCOMINGSERVERDELEGATOR_CID},
     {JACPPMSGFOLDERDELEGATOR_CONTRACTID, &kJACPPMSGFOLDERDELEGATOR_CID},
     {JACPPURLDELEGATOR_CONTRACTID, &kJACPPURLDELEGATOR_CID},
 #endif
-    // Imap Entries
-    {NS_IMAPINCOMINGSERVER_CONTRACTID, &kNS_IMAPINCOMINGSERVER_CID},
-    {NS_FOLDER_FACTORY_CONTRACTID_PREFIX "imap", &kNS_IMAPRESOURCE_CID},
-    {"@mozilla.org/messenger/messageservice;1?type=imap-message",
-     &kNS_IMAPSERVICE_CID},
-    {"@mozilla.org/messenger/messageservice;1?type=imap", &kNS_IMAPSERVICE_CID},
-    {NS_IMAPSERVICE_CONTRACTID, &kNS_IMAPSERVICE_CID},
-    {NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "imap", &kNS_IMAPSERVICE_CID},
-    {NS_IMAPPROTOCOLINFO_CONTRACTID, &kNS_IMAPSERVICE_CID},
-    {NS_CONTENT_HANDLER_CONTRACTID_PREFIX "x-application-imapfolder",
-     &kNS_IMAPSERVICE_CID},
-    {NS_AUTOSYNCMANAGER_CONTRACTID, &kNS_AUTOSYNCMANAGER_CID},
-    // Local Entries
-    {NS_MAILBOXURL_CONTRACTID, &kNS_MAILBOXURL_CID},
-    {NS_MSGMAILNEWSURL_CONTRACTID, &kNS_MSGMAILNEWSURL_CID},
-    {NS_MAILBOXSERVICE_CONTRACTID1, &kNS_MAILBOXSERVICE_CID},
-    {NS_MAILBOXSERVICE_CONTRACTID2, &kNS_MAILBOXSERVICE_CID},
-    {NS_MAILBOXSERVICE_CONTRACTID3, &kNS_MAILBOXSERVICE_CID},
-    {NS_MAILBOXSERVICE_CONTRACTID4, &kNS_MAILBOXSERVICE_CID},
-    {NS_MAILBOXPARSER_CONTRACTID, &kNS_MAILBOXPARSER_CID},
-    {NS_POP3URL_CONTRACTID, &kNS_POP3URL_CID},
-    {NS_POP3SERVICE_CONTRACTID1, &kNS_POP3SERVICE_CID},
-    {NS_POP3SERVICE_CONTRACTID2, &kNS_POP3SERVICE_CID},
-    {NS_POP3SERVICE_CONTRACTID3, &kNS_POP3SERVICE_CID},
-    {NS_NONESERVICE_CONTRACTID, &kNS_NONESERVICE_CID},
-    {NS_POP3PROTOCOLINFO_CONTRACTID, &kNS_POP3SERVICE_CID},
-    {NS_NONEPROTOCOLINFO_CONTRACTID, &kNS_NONESERVICE_CID},
-    {NS_LOCALMAILFOLDERRESOURCE_CONTRACTID, &kNS_LOCALMAILFOLDERRESOURCE_CID},
-    {NS_POP3INCOMINGSERVER_CONTRACTID, &kNS_POP3INCOMINGSERVER_CID},
-    {NS_BRKMBOXSTORE_CONTRACTID, &kNS_BRKMBOXSTORE_CID},
-    {NS_MAILDIRSTORE_CONTRACTID, &kNS_MAILDIRSTORE_CID},
-    {NS_NOINCOMINGSERVER_CONTRACTID, &kNS_NOINCOMINGSERVER_CID},
-    {NS_PARSEMAILMSGSTATE_CONTRACTID, &kNS_PARSEMAILMSGSTATE_CID},
-    {NS_RSSSERVICE_CONTRACTID, &kNS_RSSSERVICE_CID},
-    {NS_RSSPROTOCOLINFO_CONTRACTID, &kNS_RSSSERVICE_CID},
-    {NS_RSSINCOMINGSERVER_CONTRACTID, &kNS_RSSINCOMINGSERVER_CID},
     // msgdb Entries
     {NS_MAILBOXDB_CONTRACTID, &kNS_MAILDB_CID},
     {NS_NEWSDB_CONTRACTID, &kNS_NEWSDB_CID},
     {NS_IMAPDB_CONTRACTID, &kNS_IMAPDB_CID},
     {NS_MSG_RETENTIONSETTINGS_CONTRACTID, &kNS_MSG_RETENTIONSETTINGS_CID},
     {NS_MSG_DOWNLOADSETTINGS_CONTRACTID, &kNS_MSG_DOWNLOADSETTINGS_CID},
     {NS_MSGDB_SERVICE_CONTRACTID, &kNS_MSGDB_SERVICE_CID},
     // Mime Entries
@@ -573,35 +380,16 @@ const mozilla::Module::ContractIDEntry k
     {NS_MAILNEWS_MIME_STREAM_CONVERTER_CONTRACTID2,
      &kNS_MAILNEWS_MIME_STREAM_CONVERTER_CID},
     {NS_HTML_MIME_EMITTER_CONTRACTID, &kNS_HTML_MIME_EMITTER_CID},
     {NS_XML_MIME_EMITTER_CONTRACTID, &kNS_XML_MIME_EMITTER_CID},
     {NS_PLAIN_MIME_EMITTER_CONTRACTID, &kNS_PLAIN_MIME_EMITTER_CID},
     {NS_RAW_MIME_EMITTER_CONTRACTID, &kNS_RAW_MIME_EMITTER_CID},
     // FTS3
     {NS_FTS3TOKENIZER_CONTRACTID, &kNS_FTS3TOKENIZER_CID},
-    // News Entries
-    {NS_NNTPURL_CONTRACTID, &kNS_NNTPURL_CID},
-    {NS_NNTPSERVICE_CONTRACTID, &kNS_NNTPSERVICE_CID},
-    {NS_NNTPPROTOCOLINFO_CONTRACTID, &kNS_NNTPSERVICE_CID},
-    {NS_NNTPMESSAGESERVICE_CONTRACTID, &kNS_NNTPSERVICE_CID},
-    {NS_NEWSMESSAGESERVICE_CONTRACTID, &kNS_NNTPSERVICE_CID},
-    {NS_NEWSPROTOCOLHANDLER_CONTRACTID, &kNS_NNTPSERVICE_CID},
-    {NS_SNEWSPROTOCOLHANDLER_CONTRACTID, &kNS_NNTPSERVICE_CID},
-    {NS_NNTPPROTOCOLHANDLER_CONTRACTID, &kNS_NNTPSERVICE_CID},
-    {NS_CONTENT_HANDLER_CONTRACTID_PREFIX "x-application-newsgroup",
-     &kNS_NNTPSERVICE_CID},
-    {NS_CONTENT_HANDLER_CONTRACTID_PREFIX "x-application-newsgroup-listids",
-     &kNS_NNTPSERVICE_CID},
-    {NS_NEWSFOLDERRESOURCE_CONTRACTID, &kNS_NEWSFOLDERRESOURCE_CID},
-    {NS_NNTPINCOMINGSERVER_CONTRACTID, &kNS_NNTPINCOMINGSERVER_CID},
-    {NS_NNTPNEWSGROUPPOST_CONTRACTID, &kNS_NNTPNEWSGROUPPOST_CID},
-    {NS_NNTPNEWSGROUPLIST_CONTRACTID, &kNS_NNTPNEWSGROUPLIST_CID},
-    {NS_NNTPARTICLELIST_CONTRACTID, &kNS_NNTPARTICLELIST_CID},
-    {NS_NEWSDOWNLOADDIALOGARGS_CONTRACTID, &kNS_NEWSDOWNLOADDIALOGARGS_CID},
     // Mail View Entries
     {NS_MSGMAILVIEWLIST_CONTRACTID, &kNS_MSGMAILVIEWLIST_CID},
     // mdn Entries
     {NS_MSGMDNGENERATOR_CONTRACTID, &kNS_MSGMDNGENERATOR_CID},
     // SMime Entries
     {NS_MSGCOMPOSESECURE_CONTRACTID, &kNS_MSGCOMPOSESECURE_CID},
     {NS_SMIMEJSHELPER_CONTRACTID, &kNS_SMIMEJSJELPER_CID},
     {NS_SMIMEENCRYPTURISERVICE_CONTRACTID, &kNS_SMIMEENCRYPTURISERVICE_CID},
@@ -619,18 +407,16 @@ const mozilla::Module::ContractIDEntry k
     // i18n Entries
     {NS_CHARSETCONVERTERMANAGER_CONTRACTID, &kNS_ICHARSETCONVERTERMANAGER_CID},
     // Tokenizer Entries
     {NULL}};
 
 static const mozilla::Module::CategoryEntry kMailNewsCategories[] = {
     // Bayesian Filter Entries
     // JsAccount Entries
-    // Imap Entries
-    // Local Entries
     // msgdb Entries
     // Mime Entries
     {"mime-emitter", NS_HTML_MIME_EMITTER_CONTRACTID,
      NS_HTML_MIME_EMITTER_CONTRACTID},
     {"mime-emitter", NS_XML_MIME_EMITTER_CONTRACTID,
      NS_XML_MIME_EMITTER_CONTRACTID},
     {"mime-emitter", NS_PLAIN_MIME_EMITTER_CONTRACTID,
      NS_PLAIN_MIME_EMITTER_CONTRACTID},
--- a/mailnews/imap/public/moz.build
+++ b/mailnews/imap/public/moz.build
@@ -21,11 +21,10 @@ XPIDL_SOURCES += [
     "nsIImapUrl.idl",
     "nsIMailboxSpec.idl",
     "nsIMsgImapMailFolder.idl",
 ]
 
 XPIDL_MODULE = "msgimap"
 
 EXPORTS += [
-    "nsIImapHostSessionList.h",
     "nsMsgImapCID.h",
 ]
--- a/mailnews/imap/public/nsIImapHostSessionList.h
+++ b/mailnews/imap/public/nsIImapHostSessionList.h
@@ -3,17 +3,17 @@
  * 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/. */
 
 #ifndef _nsIImapHostSessionList_H_
 #define _nsIImapHostSessionList_H_
 
 #include "nsISupports.h"
 #include "nsImapCore.h"
-#include "nsImapNamespace.h"
+#include "../src/nsImapNamespace.h"
 
 class nsImapBodyShell;
 class nsIImapIncomingServer;
 
 // f4d89e3e-77da-492c-962b-7835f0742c22
 #define NS_IIMAPHOSTSESSIONLIST_IID                  \
   {                                                  \
     0xf4d89e3e, 0x77da, 0x492c, {                    \
--- a/mailnews/imap/src/components.conf
+++ b/mailnews/imap/src/components.conf
@@ -1,15 +1,68 @@
 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # 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/.
 
 Classes = [
     {
-        'cid': '{26b5aa4d-742d-4112-b834-d6c4b1276878}',
-        'contract_ids': ['@mozilla.org/messenger/imap-module-loader;1'],
-        'jsm': 'resource:///modules/ImapModuleLoader.jsm',
-        'constructor': 'ImapModuleLoader',
-        'categories': {'profile-after-change': 'ImapModuleLoader'},
+        "cid": "{26b5aa4d-742d-4112-b834-d6c4b1276878}",
+        "contract_ids": ["@mozilla.org/messenger/imap-module-loader;1"],
+        "jsm": "resource:///modules/ImapModuleLoader.jsm",
+        "constructor": "ImapModuleLoader",
+        "categories": {"profile-after-change": "ImapModuleLoader"},
+    },
+    {
+        "cid": "{21a89611-dc0d-11d2-806c-006008128c4e}",
+        "type": "nsImapUrl",
+        "headers": ["/comm/mailnews/imap/src/nsImapUrl.h"],
+    },
+    {
+        "cid": "{8c0c40d1-e173-11d2-806e-006008128c4e}",
+        "type": "nsImapProtocol",
+        "headers": ["/comm/mailnews/imap/src/nsImapProtocol.h"],
+    },
+    {
+        "cid": "{4eca51df-6734-11d3-989a-001083010e9b}",
+        "type": "nsImapMockChannel",
+        "headers": ["/comm/mailnews/imap/src/nsImapProtocol.h"],
+    },
+    {
+        "cid": "{479ce8fc-e725-11d2-a505-0060b0fc04b7}",
+        "type": "nsImapHostSessionList",
+        "init_method": "Init",
+        "headers": ["/comm/mailnews/imap/src/nsImapHostSessionList.h"],
+    },
+    {
+        "cid": "{8d3675e0-ed46-11d2-8077-006008128c4e}",
+        "contract_ids": ["@mozilla.org/messenger/server;1?type=imap"],
+        "type": "nsImapIncomingServer",
+        "init_method": "Init",
+        "headers": ["/comm/mailnews/imap/src/nsImapIncomingServer.h"],
+    },
+    {
+        "cid": "{fa32d000-f6a0-11d2-af8d-001083002da8}",
+        "contract_ids": ["@mozilla.org/mail/folder-factory;1?name=imap"],
+        "type": "nsImapMailFolder",
+        "headers": ["/comm/mailnews/imap/src/nsImapMailFolder.h"],
+    },
+    {
+        "cid": "{c5852b22-ebe2-11d2-95ad-000064657374}",
+        "contract_ids": [
+            "@mozilla.org/messenger/messageservice;1?type=imap-message",
+            "@mozilla.org/messenger/messageservice;1?type=imap",
+            "@mozilla.org/messenger/imapservice;1",
+            "@mozilla.org/network/protocol;1?name=imap",
+            "@mozilla.org/messenger/protocol/info;1?type=imap",
+            "@mozilla.org/uriloader/content-handler;1?type=x-application-imapfolder",
+        ],
+        "type": "nsImapService",
+        "headers": ["/comm/mailnews/imap/src/nsImapService.h"],
+    },
+    {
+        "cid": "{c358c568-47b2-42b2-8146-3c0f8d1fad6e}",
+        "contract_ids": ["@mozilla.org/imap/autosyncmgr;1"],
+        "type": "nsAutoSyncManager",
+        "headers": ["/comm/mailnews/imap/src/nsAutoSyncManager.h"],
     },
 ]
--- a/mailnews/imap/src/nsImapHostSessionList.h
+++ b/mailnews/imap/src/nsImapHostSessionList.h
@@ -3,17 +3,17 @@
  * 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/. */
 
 #ifndef _nsImapHostSessionList_H_
 #define _nsImapHostSessionList_H_
 
 #include "mozilla/Attributes.h"
 #include "nsImapCore.h"
-#include "nsIImapHostSessionList.h"
+#include "../public/nsIImapHostSessionList.h"
 #include "nsImapBodyShell.h"
 #include "nsIObserver.h"
 #include "nsWeakReference.h"
 #include "nspr.h"
 
 class nsImapNamespaceList;
 class nsIImapIncomingServer;
 
--- a/mailnews/imap/src/nsImapIncomingServer.cpp
+++ b/mailnews/imap/src/nsImapIncomingServer.cpp
@@ -2,17 +2,17 @@
 /* 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 "msgCore.h"
 #include "nsMsgImapCID.h"
 
 #include "netCore.h"
-#include "nsIImapHostSessionList.h"
+#include "../public/nsIImapHostSessionList.h"
 #include "nsImapIncomingServer.h"
 #include "nsIMsgAccountManager.h"
 #include "nsIMsgIdentity.h"
 #include "nsIImapUrl.h"
 #include "nsIUrlListener.h"
 #include "nsThreadUtils.h"
 #include "nsImapProtocol.h"
 #include "nsCOMPtr.h"
--- a/mailnews/imap/src/nsImapIncomingServer.h
+++ b/mailnews/imap/src/nsImapIncomingServer.h
@@ -3,16 +3,17 @@
  * 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/. */
 
 #ifndef __nsImapIncomingServer_h
 #define __nsImapIncomingServer_h
 
 #include "mozilla/Attributes.h"
 #include "msgCore.h"
+#include "nsImapCore.h"
 #include "nsIImapIncomingServer.h"
 #include "nsMsgIncomingServer.h"
 #include "nsIImapServerSink.h"
 #include "nsIStringBundle.h"
 #include "nsISubscribableServer.h"
 #include "nsIUrlListener.h"
 #include "nsIMsgImapMailFolder.h"
 #include "nsCOMArray.h"
--- a/mailnews/imap/src/nsImapMailFolder.cpp
+++ b/mailnews/imap/src/nsImapMailFolder.cpp
@@ -20,17 +20,17 @@
 #include "nsIImapUrl.h"
 #include "nsImapUtils.h"
 #include "nsMsgUtils.h"
 #include "nsIMsgMailSession.h"
 #include "nsMsgBaseCID.h"
 #include "nsMsgLocalCID.h"
 #include "nsITransactionManager.h"
 #include "nsImapUndoTxn.h"
-#include "nsIImapHostSessionList.h"
+#include "../public/nsIImapHostSessionList.h"
 #include "nsIMsgCopyService.h"
 #include "nsICopyMessageStreamListener.h"
 #include "nsImapStringBundle.h"
 #include "nsIMsgFolderCacheElement.h"
 #include "nsTextFormatter.h"
 #include "nsIPrefBranch.h"
 #include "nsIPrefService.h"
 #include "nsMsgI18N.h"
--- a/mailnews/imap/src/nsImapNamespace.cpp
+++ b/mailnews/imap/src/nsImapNamespace.cpp
@@ -2,17 +2,17 @@
 /* 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 "msgCore.h"  // for pre-compiled headers
 
 #include "nsImapCore.h"
 #include "nsImapNamespace.h"
-#include "nsIImapHostSessionList.h"
+#include "../public/nsIImapHostSessionList.h"
 #include "nsMsgImapCID.h"
 #include "nsImapUrl.h"
 #include "nsString.h"
 #include "nsServiceManagerUtils.h"
 
 //////////////////// nsImapNamespace
 ////////////////////////////////////////////////////////////////
 
--- a/mailnews/imap/src/nsImapProtocol.cpp
+++ b/mailnews/imap/src/nsImapProtocol.cpp
@@ -11,17 +11,17 @@
 #include "nsVersionComparator.h"
 
 #include "nsMsgImapCID.h"
 #include "nsThreadUtils.h"
 #include "nsIMsgStatusFeedback.h"
 #include "nsImapCore.h"
 #include "nsImapProtocol.h"
 #include "nsIMsgMailNewsUrl.h"
-#include "nsIImapHostSessionList.h"
+#include "../public/nsIImapHostSessionList.h"
 #include "nsImapBodyShell.h"
 #include "nsImapMailFolder.h"
 #include "nsIMsgAccountManager.h"
 #include "nsImapServerResponseParser.h"
 #include "nspr.h"
 #include "plbase64.h"
 #include "nsIEventTarget.h"
 #include "nsIImapService.h"
--- a/mailnews/imap/src/nsImapProtocol.h
+++ b/mailnews/imap/src/nsImapProtocol.h
@@ -18,17 +18,17 @@
 #include "nsString.h"
 #include "nsIProgressEventSink.h"
 #include "nsIInterfaceRequestor.h"
 #include "nsISocketTransport.h"
 
 // UI Thread proxy helper
 #include "nsIImapProtocolSink.h"
 
-#include "nsIImapHostSessionList.h"
+#include "../public/nsIImapHostSessionList.h"
 #include "nsImapServerResponseParser.h"
 #include "nsImapFlagAndUidState.h"
 #include "nsImapNamespace.h"
 #include "nsTArray.h"
 #include "nsIWeakReferenceUtils.h"
 #include "nsMsgLineBuffer.h"  // we need this to use the nsMsgLineStreamBuffer helper class...
 #include "nsIInputStream.h"
 #include "nsIMsgIncomingServer.h"
--- a/mailnews/imap/src/nsImapServerResponseParser.h
+++ b/mailnews/imap/src/nsImapServerResponseParser.h
@@ -2,17 +2,17 @@
 /* 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/. */
 
 #ifndef _nsIMAPServerResponseParser_H_
 #define _nsIMAPServerResponseParser_H_
 
 #include "mozilla/Attributes.h"
-#include "nsIImapHostSessionList.h"
+#include "../public/nsIImapHostSessionList.h"
 #include "nsImapSearchResults.h"
 #include "nsString.h"
 #include "MailNewsTypes.h"
 #include "nsTArray.h"
 #include "nsImapUtils.h"
 
 class nsImapBodyShell;
 class nsIMAPBodypart;
--- a/mailnews/imap/src/nsImapUrl.cpp
+++ b/mailnews/imap/src/nsImapUrl.cpp
@@ -2,17 +2,17 @@
 /* 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 "msgCore.h"  // precompiled header...
 #include "nsMsgImapCID.h"
 
 #include "nsImapUrl.h"
-#include "nsIImapHostSessionList.h"
+#include "../public/nsIImapHostSessionList.h"
 #include "nsThreadUtils.h"
 #include "nsString.h"
 #include "prmem.h"
 #include "plstr.h"
 #include "prprf.h"
 #include "nsMemory.h"
 #include "nsCOMPtr.h"
 #include "nsMsgBaseCID.h"
--- a/mailnews/local/src/components.conf
+++ b/mailnews/local/src/components.conf
@@ -1,21 +1,128 @@
 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # 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/.
 
 Classes = [
     {
-        'cid': '{060e684a-0acd-41f1-b36b-12de686f201e}',
-        'contract_ids': ['@mozilla.org/messenger/pop3-sink;1'],
-        'type': 'nsPop3Sink',
-        'headers': ['/comm/mailnews/local/src/nsPop3Sink.h'],
+        "cid": "{060e684a-0acd-41f1-b36b-12de686f201e}",
+        "contract_ids": ["@mozilla.org/messenger/pop3-sink;1"],
+        "type": "nsPop3Sink",
+        "headers": ["/comm/mailnews/local/src/nsPop3Sink.h"],
+    },
+    {
+        "cid": "{e08cda0a-5aa8-4586-b961-b89266e38320}",
+        "contract_ids": ["@mozilla.org/messenger/pop3-module-loader;1"],
+        "jsm": "resource:///modules/Pop3ModuleLoader.jsm",
+        "constructor": "Pop3ModuleLoader",
+        "categories": {"profile-after-change": "Pop3ModuleLoader"},
+    },
+    {
+        "cid": "{46efcb10-cb6d-11d2-8065-006008128c4e}",
+        "contract_ids": ["@mozilla.org/messenger/mailboxurl;1"],
+        "type": "nsMailboxUrl",
+        "headers": ["/comm/mailnews/local/src/nsMailboxUrl.h"],
+    },
+    {
+        "cid": "{3fdae3ab-4ac1-4ad4-b28a-28d0fa363929}",
+        "contract_ids": ["@mozilla.org/messenger/msgmailnewsurl;1"],
+        "type": "nsMsgMailNewsUrl",
+        "headers": ["/comm/mailnews/base/src/nsMsgMailNewsUrl.h"],
+    },
+    {
+        "cid": "{eef82462-cb69-11d2-8065-006008128c4e}",
+        "contract_ids": [
+            "@mozilla.org/messenger/mailboxservice;1",
+            "@mozilla.org/messenger/messageservice;1?type=mailbox",
+            "@mozilla.org/messenger/messageservice;1?type=mailbox-message",
+            "@mozilla.org/network/protocol;1?name=mailbox",
+        ],
+        "type": "nsMailboxService",
+        "headers": ["/comm/mailnews/local/src/nsMailboxService.h"],
+    },
+    {
+        "cid": "{d17e0e22-285b-4239-863c-2eebb008b5cd}",
+        "contract_ids": ["@mozilla.org/messenger/mailboxparser;1"],
+        "type": "nsMsgMailboxParser",
+        "headers": ["/comm/mailnews/local/src/nsParseMailbox.h"],
+    },
+    {
+        "cid": "{ea1b0a11-e6f4-11d2-8070-006008128c4e}",
+        "contract_ids": ["@mozilla.org/messenger/popurl;1"],
+        "type": "nsPop3URL",
+        "headers": ["/comm/mailnews/local/src/nsPop3URL.h"],
+    },
+    {
+        "cid": "{3bb459e3-d746-11d2-806a-006008128c4e}",
+        "contract_ids": [
+            "@mozilla.org/messenger/popservice;1",
+            "@mozilla.org/network/protocol;1?name=pop",
+            "@mozilla.org/network/protocol;1?name=pop3",
+            "@mozilla.org/messenger/protocol/info;1?type=pop3",
+            "@mozilla.org/messenger/protocol/info;1?type=none",
+        ],
+        "type": "nsPop3Service",
+        "headers": ["/comm/mailnews/local/src/nsPop3Service.h"],
     },
     {
-        'cid': '{e08cda0a-5aa8-4586-b961-b89266e38320}',
-        'contract_ids': ['@mozilla.org/messenger/pop3-module-loader;1'],
-        'jsm': 'resource:///modules/Pop3ModuleLoader.jsm',
-        'constructor': 'Pop3ModuleLoader',
-        'categories': {'profile-after-change': 'Pop3ModuleLoader'},
+        "cid": "{75b63b46-1dd2-11b2-9873-bb375e1550fa}",
+        "contract_ids": ["@mozilla.org/messenger/noneservice;1"],
+        "type": "nsNoneService",
+        "headers": ["/comm/mailnews/local/src/nsNoneService.h"],
+    },
+    {
+        "cid": "{e490d22c-cd67-11d2-8cca-0060b0fc14a3}",
+        "contract_ids": ["@mozilla.org/mail/folder-factory;1?name=mailbox"],
+        "type": "nsMsgLocalMailFolder",
+        "headers": ["/comm/mailnews/local/src/nsLocalMailFolder.h"],
+    },
+    {
+        "cid": "{d2876e51-e62c-11d2-b7fc-00805f05ffa5}",
+        "contract_ids": ["@mozilla.org/messenger/server;1?type=pop3"],
+        "type": "nsPop3IncomingServer",
+        "init_method": "Init",
+        "headers": ["/comm/mailnews/local/src/nsPop3IncomingServer.h"],
+    },
+    {
+        "cid": "{36358199-a0e4-4b68-929f-77c01de34c67}",
+        "contract_ids": ["@mozilla.org/msgstore/berkeleystore;1"],
+        "type": "nsMsgBrkMBoxStore",
+        "headers": ["/comm/mailnews/local/src/nsMsgBrkMBoxStore.h"],
+    },
+    {
+        "cid": "{1f993eda-7dd9-11df-819a-6257dfd72085}",
+        "contract_ids": ["@mozilla.org/msgstore/maildirstore;1"],
+        "type": "nsMsgMaildirStore",
+        "headers": ["/comm/mailnews/local/src/nsMsgMaildirStore.h"],
+    },
+    {
+        "cid": "{ca5ffe7e-5f47-11d3-9a51-004005263078}",
+        "contract_ids": ["@mozilla.org/messenger/server;1?type=none"],
+        "type": "nsNoIncomingServer",
+        "init_method": "Init",
+        "headers": ["/comm/mailnews/local/src/nsNoIncomingServer.h"],
+    },
+    {
+        "cid": "{2b79ac51-1459-11d3-8097-006008128c4e}",
+        "contract_ids": ["@mozilla.org/messenger/messagestateparser;1"],
+        "type": "nsParseMailMessageState",
+        "headers": ["/comm/mailnews/local/src/nsParseMailbox.h"],
+    },
+    {
+        "cid": "{44aef4ce-475b-42e3-bc42-7730d5ce7365}",
+        "contract_ids": [
+            "@mozilla.org/messenger/rssservice;1",
+            "@mozilla.org/messenger/protocol/info;1?type=rss",
+        ],
+        "type": "nsRssService",
+        "headers": ["/comm/mailnews/local/src/nsRssService.h"],
+    },
+    {
+        "cid": "{3a874285-5520-41a0-bcda-a3dee3dbf4f3}",
+        "contract_ids": ["@mozilla.org/messenger/server;1?type=rss"],
+        "type": "nsRssIncomingServer",
+        "init_method": "Init",
+        "headers": ["/comm/mailnews/local/src/nsRssIncomingServer.h"],
     },
 ]
--- a/mailnews/news/src/components.conf
+++ b/mailnews/news/src/components.conf
@@ -1,20 +1,80 @@
 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # 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/.
 
 Classes = [
-  {
-    'cid': '{e9bb3330-ac7e-11de-8a39-0800200c9a66}',
-    'contract_ids': ['@mozilla.org/autocomplete/search;1?name=news'],
-    'jsm': 'resource:///modules/NewsAutoCompleteSearch.jsm',
-    'constructor': 'NewsAutoCompleteSearch',
-  }, {
-    'cid': '{977853d0-7710-436d-8e80-e270ef52c17c}',
-    'contract_ids': ['@mozilla.org/messenger/nntp-module-loader;1'],
-    'jsm': 'resource:///modules/NntpModuleLoader.jsm',
-    'constructor': 'NntpModuleLoader',
-    'categories': {'profile-after-change': 'NntpModuleLoader'},
-  },
+    {
+        "cid": "{e9bb3330-ac7e-11de-8a39-0800200c9a66}",
+        "contract_ids": ["@mozilla.org/autocomplete/search;1?name=news"],
+        "jsm": "resource:///modules/NewsAutoCompleteSearch.jsm",
+        "constructor": "NewsAutoCompleteSearch",
+    },
+    {
+        "cid": "{977853d0-7710-436d-8e80-e270ef52c17c}",
+        "contract_ids": ["@mozilla.org/messenger/nntp-module-loader;1"],
+        "jsm": "resource:///modules/NntpModuleLoader.jsm",
+        "constructor": "NntpModuleLoader",
+        "categories": {"profile-after-change": "NntpModuleLoader"},
+    },
+    {
+        "cid": "{196b4b30-e18c-11d2-806e-006008128c4e}",
+        "contract_ids": ["@mozilla.org/messenger/nntpurl;1"],
+        "type": "nsNntpUrl",
+        "headers": ["/comm/mailnews/news/src/nsNntpUrl.h"],
+    },
+    {
+        "cid": "{4c9f90e1-e19b-11d2-806e-006008128c4e}",
+        "contract_ids": [
+            "@mozilla.org/messenger/nntpservice;1",
+            "@mozilla.org/messenger/protocol/info;1?type=nntp",
+            "@mozilla.org/messenger/messageservice;1?type=news",
+            "@mozilla.org/messenger/messageservice;1?type=news-message",
+            "@mozilla.org/network/protocol;1?name=news",
+            "@mozilla.org/network/protocol;1?name=snews",
+            "@mozilla.org/network/protocol;1?name=nntp",
+            "@mozilla.org/uriloader/content-handler;1?type=x-application-newsgroup",
+            "@mozilla.org/uriloader/content-handler;1?type=x-application-newsgroup-listids",
+        ],
+        "type": "nsNntpService",
+        "headers": ["/comm/mailnews/news/src/nsNntpService.h"],
+    },
+    {
+        "cid": "{4ace448a-f6d4-11d2-880d-004005263078}",
+        "contract_ids": ["@mozilla.org/mail/folder-factory;1?name=news"],
+        "type": "nsMsgNewsFolder",
+        "headers": ["/comm/mailnews/news/src/nsNewsFolder.h"],
+    },
+    {
+        "cid": "{6ff28d0a-f776-11d2-87ca-004005263078}",
+        "contract_ids": ["@mozilla.org/messenger/server;1?type=nntp"],
+        "type": "nsNntpIncomingServer",
+        "init_method": "Init",
+        "headers": ["/comm/mailnews/news/src/nsNntpIncomingServer.h"],
+    },
+    {
+        "cid": "{30c60228-187e-11d3-842f-004005263078}",
+        "contract_ids": ["@mozilla.org/messenger/nntpnewsgrouppost;1"],
+        "type": "nsNNTPNewsgroupPost",
+        "headers": ["/comm/mailnews/news/src/nsNNTPNewsgroupPost.h"],
+    },
+    {
+        "cid": "{631e9054-1893-11d3-9916-004005263078}",
+        "contract_ids": ["@mozilla.org/messenger/nntpnewsgrouplist;1"],
+        "type": "nsNNTPNewsgroupList",
+        "headers": ["/comm/mailnews/news/src/nsNNTPNewsgroupList.h"],
+    },
+    {
+        "cid": "{9f12bdf0-189f-11d3-973e-00805f916fd3}",
+        "contract_ids": ["@mozilla.org/messenger/nntparticlelist;1"],
+        "type": "nsNNTPArticleList",
+        "headers": ["/comm/mailnews/news/src/nsNNTPArticleList.h"],
+    },
+    {
+        "cid": "{1540689e-1dd2-11b2-933d-f0d1e460ef4a}",
+        "contract_ids": ["@mozilla.org/messenger/newsdownloaddialogargs;1"],
+        "type": "nsNewsDownloadDialogArgs",
+        "headers": ["/comm/mailnews/news/src/nsNewsDownloadDialogArgs.h"],
+    },
 ]