use generic factory for local and convert to use nsIModule

VERIFIED FIXED in M11

Status

MailNews Core
Backend
P3
normal
VERIFIED FIXED
19 years ago
10 years ago

People

(Reporter: Alec Flett, Assigned: Scott MacGregor)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

19 years ago
This library should use Warren's generic factory class instead of making our own
factory...it will shrink the size of this dll and make maintenance easier.
(Reporter)

Updated

19 years ago
Status: NEW → ASSIGNED
Summary: use generic factory for local
Target Milestone: M14
(Assignee)

Updated

19 years ago
Assignee: alecf → mscott
Severity: minor → normal
Status: ASSIGNED → NEW
Summary: use generic factory for local → use generic factory for local and convert to use nsIModule
Target Milestone: M14 → M11
(Assignee)

Comment 1

19 years ago
re-assigning to myself. In order to convert the local factory into a module and
support nsIModule, I also used nsIGenericFactory.

I have local converted in my tree but it isn't checked in yet.

Marking as M11 as the cosmonauts need the nsIModule conversion.
(Assignee)

Updated

18 years ago
Status: NEW → RESOLVED
Last Resolved: 19 years ago
Resolution: --- → FIXED
(Assignee)

Comment 2

18 years ago
I finally got around to landing my code for this module.

Updated

18 years ago
QA Contact: lchiang → ppandit

Comment 3

18 years ago
Based on the following text searches for nsIModule and nsIGenericFactory within 
the mailnews directory, implementation looks complete.
MARKING AS VERIFIED

/mailnews/addrbook/build/nsAbFactory.cpp, line 26 -- #include "nsIModule.h"
/mailnews/base/build/nsMsgFactory.cpp, line 27 -- #include "nsIModule.h"
/mailnews/base/build/nsMsgFactory.cpp, line 166 -- class nsMsgBaseModule : 
public nsIModule
/mailnews/base/build/nsMsgFactory.cpp, line 174 -- NS_DECL_NSIMODULE
/mailnews/base/build/nsMsgFactory.cpp, line 219 -- 
NS_IMPL_ISUPPORTS(nsMsgBaseModule,
NS_GET_IID(nsIModule))
/mailnews/base/build/nsMsgFactory.cpp, line 580 -- nsIModule** return_cobj)
/mailnews/base/build/nsMsgFactory.cpp, line 592 -- // Increase refcnt and store 
away nsIModule interface
to m in return_cobj
/mailnews/base/build/nsMsgFactory.cpp, line 593 -- rv =
module->QueryInterface(NS_GET_IID(nsIModule), (void**)return_cobj);
/mailnews/compose/build/nsMsgCompFactory.cpp, line 31 -- #include "nsIModule.h"
/mailnews/db/msgdb/build/nsMsgDBFactory.cpp, line 26 -- #include "nsIModule.h"
/mailnews/db/msgdb/build/nsMsgDBFactory.cpp, line 45 -- class nsMsgDBModule : 
public nsIModule
/mailnews/db/msgdb/build/nsMsgDBFactory.cpp, line 53 -- NS_DECL_NSIMODULE
/mailnews/db/msgdb/build/nsMsgDBFactory.cpp, line 78 -- 
NS_IMPL_ISUPPORTS(nsMsgDBModule,
NS_GET_IID(nsIModule))
/mailnews/db/msgdb/build/nsMsgDBFactory.cpp, line 220 -- nsIModule** 
return_cobj)
/mailnews/db/msgdb/build/nsMsgDBFactory.cpp, line 232 -- // Increase refcnt and 
store away nsIModule
interface to m in return_cobj
/mailnews/db/msgdb/build/nsMsgDBFactory.cpp, line 233 -- rv =
module->QueryInterface(NS_GET_IID(nsIModule), (void**)return_cobj);
/mailnews/imap/build/nsImapFactory.cpp, line 26 -- #include "nsIModule.h"
/mailnews/imap/build/nsImapFactory.cpp, line 60 -- class nsMsgImapModule : 
public nsIModule
/mailnews/imap/build/nsImapFactory.cpp, line 68 -- NS_DECL_NSIMODULE
/mailnews/imap/build/nsImapFactory.cpp, line 98 -- 
NS_IMPL_ISUPPORTS(nsMsgImapModule,
NS_GET_IID(nsIModule))
/mailnews/imap/build/nsImapFactory.cpp, line 292 -- nsIModule** return_cobj)
/mailnews/imap/build/nsImapFactory.cpp, line 304 -- // Increase refcnt and store 
away nsIModule interface
to m in return_cobj
/mailnews/imap/build/nsImapFactory.cpp, line 305 -- rv =
module->QueryInterface(NS_GET_IID(nsIModule), (void**)return_cobj);
/mailnews/import/oexpress/nsOEFactory.cpp, line 28 -- #include "nsIModule.h"
/mailnews/import/src/nsImportFactory.cpp, line 23 -- #include "nsIModule.h"
/mailnews/import/outlook/src/nsOutlookFactory.cpp, line 28 -- #include 
"nsIModule.h"
/mailnews/import/eudora/src/nsEudoraFactory.cpp, line 24 -- #include 
"nsIModule.h"
/mailnews/import/text/src/nsTextFactory.cpp, line 24 -- #include "nsIModule.h"
/mailnews/local/build/nsMsgLocalFactory.cpp, line 25 -- #include "nsIModule.h"
/mailnews/local/build/nsMsgLocalFactory.cpp, line 73 -- class nsMsgLocalModule : 
public nsIModule
/mailnews/local/build/nsMsgLocalFactory.cpp, line 81 -- NS_DECL_NSIMODULE
/mailnews/local/build/nsMsgLocalFactory.cpp, line 115 -- 
NS_IMPL_ISUPPORTS(nsMsgLocalModule,
NS_GET_IID(nsIModule))
/mailnews/local/build/nsMsgLocalFactory.cpp, line 351 -- nsIModule** 
return_cobj)
/mailnews/local/build/nsMsgLocalFactory.cpp, line 363 -- // Increase refcnt and 
store away nsIModule
interface to m in return_cobj
/mailnews/local/build/nsMsgLocalFactory.cpp, line 364 -- rv =
module->QueryInterface(NS_GET_IID(nsIModule), (void**)return_cobj);
/mailnews/mime/build/nsMimeModule.cpp, line 24 -- #include "nsIModule.h"
/mailnews/mime/build/nsMimeModule.cpp, line 51 -- class nsMimeModule : public 
nsIModule
/mailnews/mime/build/nsMimeModule.cpp, line 59 -- NS_DECL_NSIMODULE
/mailnews/mime/build/nsMimeModule.cpp, line 86 -- 
NS_IMPL_ISUPPORTS(nsMimeModule,
NS_GET_IID(nsIModule))
/mailnews/mime/build/nsMimeModule.cpp, line 248 -- nsIModule** return_cobj)
/mailnews/mime/build/nsMimeModule.cpp, line 260 -- // Increase refcnt and store 
away nsIModule interface
to m in return_cobj
/mailnews/mime/build/nsMimeModule.cpp, line 261 -- rv =
module->QueryInterface(NS_GET_IID(nsIModule), (void**)return_cobj);
/mailnews/mime/emitters/build/nsEmitterFactory.cpp, line 30 -- #include 
"nsIModule.h"
/mailnews/news/build/nsMsgNewsFactory.cpp, line 25 -- #include "nsIModule.h"

/mailnews/addrbook/build/nsAbFactory.cpp, line 25 -- #include 
"nsIGenericFactory.h"
/mailnews/base/build/nsMsgFactory.cpp, line 28 -- #include "nsIGenericFactory.h"
/mailnews/base/build/nsMsgFactory.cpp, line 183 -- nsCOMPtr<nsIGenericFactory>
mMessengerBootstrapFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 184 -- nsCOMPtr<nsIGenericFactory>
mUrlListenerManagerFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 185 -- nsCOMPtr<nsIGenericFactory>
mMsgMailSessionFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 186 -- nsCOMPtr<nsIGenericFactory> 
mMessengerFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 187 -- nsCOMPtr<nsIGenericFactory>
mMsgAccountManagerFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 188 -- nsCOMPtr<nsIGenericFactory>
mMessengerMigratorFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 189 -- nsCOMPtr<nsIGenericFactory>
mMsgAccountFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 190 -- nsCOMPtr<nsIGenericFactory> 
mMsgIdentityFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 191 -- nsCOMPtr<nsIGenericFactory>
mMsgFolderDataSourceFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 192 -- nsCOMPtr<nsIGenericFactory>
mMsgMessageDataSourceFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 193 -- nsCOMPtr<nsIGenericFactory>
mMsgAccountManagerDataSourceFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 194 -- nsCOMPtr<nsIGenericFactory>
mMsgFilterServiceFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 195 -- nsCOMPtr<nsIGenericFactory>
mMsgBiffManagerFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 196 -- nsCOMPtr<nsIGenericFactory>
mMsgNotificationManagerFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 197 -- nsCOMPtr<nsIGenericFactory>
mCopyMessageStreamListenerFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 198 -- nsCOMPtr<nsIGenericFactory>
mMsgCopyServiceFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 199 -- nsCOMPtr<nsIGenericFactory>
mMsgFolderCacheFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 200 -- nsCOMPtr<nsIGenericFactory>
mMsgStatusFeedbackFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 201 -- nsCOMPtr<nsIGenericFactory>
mMessageViewFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 202 -- nsCOMPtr<nsIGenericFactory>
mMsgWindowFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 203 -- nsCOMPtr<nsIGenericFactory>
mMsgViewNavigationServiceFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 204 -- nsCOMPtr<nsIGenericFactory>
mMsgServiceProviderServiceFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 205 -- nsCOMPtr<nsIGenericFactory>
mMsgPrintEngineFactory;
/mailnews/base/build/nsMsgFactory.cpp, line 282 -- nsCOMPtr<nsIGenericFactory> 
fact;
/mailnews/compose/build/nsMsgCompFactory.cpp, line 29 -- #include 
"nsIGenericFactory.h"
/mailnews/compose/src/nsMsgCreate.cpp, line 28 -- #include "nsIGenericFactory.h"
/mailnews/compose/src/nsMsgQuote.cpp, line 27 -- #include "nsIGenericFactory.h"
/mailnews/compose/tests/compose/test.cpp, line 47 -- #include 
"nsIGenericFactory.h"
/mailnews/compose/tests/geturl/geturl.cpp, line 39 -- #include 
"nsIGenericFactory.h"
/mailnews/compose/tests/sendpage/Test.cpp, line 33 -- #include 
"nsIGenericFactory.h"
/mailnews/db/msgdb/build/nsMsgDBFactory.cpp, line 27 -- #include 
"nsIGenericFactory.h"
/mailnews/db/msgdb/build/nsMsgDBFactory.cpp, line 61 -- 
nsCOMPtr<nsIGenericFactory>
mMailDBFactory;
/mailnews/db/msgdb/build/nsMsgDBFactory.cpp, line 62 -- 
nsCOMPtr<nsIGenericFactory>
mNewsDBFactory;
/mailnews/db/msgdb/build/nsMsgDBFactory.cpp, line 63 -- 
nsCOMPtr<nsIGenericFactory>
mImapDBFactory;
/mailnews/db/msgdb/build/nsMsgDBFactory.cpp, line 124 -- 
nsCOMPtr<nsIGenericFactory> fact;
/mailnews/imap/build/nsImapFactory.cpp, line 27 -- #include 
"nsIGenericFactory.h"
/mailnews/imap/build/nsImapFactory.cpp, line 76 -- nsCOMPtr<nsIGenericFactory> 
mImapUrlFactory;
/mailnews/imap/build/nsImapFactory.cpp, line 77 -- nsCOMPtr<nsIGenericFactory>
mImapProtocolFactory;
/mailnews/imap/build/nsImapFactory.cpp, line 78 -- nsCOMPtr<nsIGenericFactory>
mImapHostSessionFactory;
/mailnews/imap/build/nsImapFactory.cpp, line 79 -- nsCOMPtr<nsIGenericFactory>
mImapIncomingServerFactory;
/mailnews/imap/build/nsImapFactory.cpp, line 80 -- nsCOMPtr<nsIGenericFactory>
mImapServiceFactory;
/mailnews/imap/build/nsImapFactory.cpp, line 81 -- nsCOMPtr<nsIGenericFactory>
mImapMailFolderFactory;
/mailnews/imap/build/nsImapFactory.cpp, line 82 -- nsCOMPtr<nsIGenericFactory>
mImapMockChannelFactory;
/mailnews/imap/build/nsImapFactory.cpp, line 83 -- nsCOMPtr<nsIGenericFactory>
mImapMessageFactory;
/mailnews/imap/build/nsImapFactory.cpp, line 148 -- nsCOMPtr<nsIGenericFactory> 
fact;
/mailnews/import/oexpress/nsOEFactory.cpp, line 29 -- #include 
"nsIGenericFactory.h"
/mailnews/import/src/nsImportFactory.cpp, line 24 -- #include 
"nsIGenericFactory.h"
/mailnews/import/outlook/src/nsOutlookFactory.cpp, line 29 -- #include 
"nsIGenericFactory.h"
/mailnews/import/eudora/src/nsEudoraFactory.cpp, line 25 -- #include 
"nsIGenericFactory.h"
/mailnews/import/text/src/nsTextFactory.cpp, line 25 -- #include 
"nsIGenericFactory.h"
/mailnews/local/build/nsMsgLocalFactory.cpp, line 26 -- #include 
"nsIGenericFactory.h"
/mailnews/local/build/nsMsgLocalFactory.cpp, line 89 -- 
nsCOMPtr<nsIGenericFactory>
mMailboxUrlFactory;
/mailnews/local/build/nsMsgLocalFactory.cpp, line 90 -- 
nsCOMPtr<nsIGenericFactory>
mPop3UrlFactory;
/mailnews/local/build/nsMsgLocalFactory.cpp, line 91 -- 
nsCOMPtr<nsIGenericFactory>
mMailboxParserFactory;
/mailnews/local/build/nsMsgLocalFactory.cpp, line 92 -- 
nsCOMPtr<nsIGenericFactory>
mMailboxServiceFactory;
/mailnews/local/build/nsMsgLocalFactory.cpp, line 93 -- 
nsCOMPtr<nsIGenericFactory>
mPop3ServiceFactory;
/mailnews/local/build/nsMsgLocalFactory.cpp, line 94 -- 
nsCOMPtr<nsIGenericFactory>
mNoneServiceFactory;
/mailnews/local/build/nsMsgLocalFactory.cpp, line 95 -- 
nsCOMPtr<nsIGenericFactory>
mLocalMailFolderFactory;
/mailnews/local/build/nsMsgLocalFactory.cpp, line 96 -- 
nsCOMPtr<nsIGenericFactory>
mLocalMessageFactory;
/mailnews/local/build/nsMsgLocalFactory.cpp, line 97 -- 
nsCOMPtr<nsIGenericFactory>
mParseMailMsgStateFactory;
/mailnews/local/build/nsMsgLocalFactory.cpp, line 98 -- 
nsCOMPtr<nsIGenericFactory>
mPop3IncomingServerFactory;
/mailnews/local/build/nsMsgLocalFactory.cpp, line 99 -- 
nsCOMPtr<nsIGenericFactory>
mNoIncomingServerFactory;
/mailnews/local/build/nsMsgLocalFactory.cpp, line 100 -- 
nsCOMPtr<nsIGenericFactory>
mLocalStringBundleFactory;
/mailnews/local/build/nsMsgLocalFactory.cpp, line 169 -- 
nsCOMPtr<nsIGenericFactory> fact;
/mailnews/mime/build/nsMimeModule.cpp, line 25 -- #include "nsIGenericFactory.h"
/mailnews/mime/build/nsMimeModule.cpp, line 67 -- nsCOMPtr<nsIGenericFactory>
mObjectClassAccessFactory;
/mailnews/mime/build/nsMimeModule.cpp, line 68 -- nsCOMPtr<nsIGenericFactory>
mMimeConverterFactory;
/mailnews/mime/build/nsMimeModule.cpp, line 69 -- nsCOMPtr<nsIGenericFactory>
mStreamConverterFactory;
/mailnews/mime/build/nsMimeModule.cpp, line 70 -- nsCOMPtr<nsIGenericFactory>
mMsgHeaderParserFactory;
/mailnews/mime/build/nsMimeModule.cpp, line 71 -- nsCOMPtr<nsIGenericFactory>
mMimeHeadersFactory;
/mailnews/mime/build/nsMimeModule.cpp, line 133 -- nsCOMPtr<nsIGenericFactory> 
fact;
/mailnews/mime/cthandlers/vcard/nsVCardFactory.cpp, line 23 -- #include 
"nsIGenericFactory.h"
/mailnews/mime/emitters/build/nsEmitterFactory.cpp, line 29 -- #include 
"nsIGenericFactory.h"
/mailnews/mime/tests/mimetest/mimetest.cpp, line 34 -- #include 
"nsIGenericFactory.h"
/mailnews/news/build/nsMsgNewsFactory.cpp, line 26 -- #include 
"nsIGenericFactory.h"
Status: RESOLVED → VERIFIED
Product: MailNews → Core
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.