Closed
Bug 99144
Opened 23 years ago
Closed 23 years ago
nsIFactory needs to be frozen
Categories
(Core :: XPCOM, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: dougt, Assigned: dougt)
References
Details
Attachments
(3 files)
2.22 KB,
patch
|
Details | Diff | Splinter Review | |
2.02 KB,
patch
|
Details | Diff | Splinter Review | |
2.18 KB,
patch
|
rpotts
:
superreview+
|
Details | Diff | Splinter Review |
Comment 1•23 years ago
|
||
Assignee | ||
Comment 2•23 years ago
|
||
I am not sure I like the comment describing this interface. How is this: A class factory allows creation of nsISupports derived objects without specifying a concrete base class.
Comment 3•23 years ago
|
||
Assignee | ||
Comment 4•23 years ago
|
||
r=dougt. rick, can you sr=.
Comment 5•23 years ago
|
||
Comment on attachment 49250 [details] [diff] [review] Updated patch based on Doug's comments we need to change the references to 'NS_TRUE' and 'NS_FALSE' to PR_TRUE/FALSE . These are the correct constants to use with PRBool. Also, (minor nit) in the general description... i'd change '... nsISupports derived objects...' to 'nsISupports derived components...'
Comment 6•23 years ago
|
||
Also, you might want to add that if an 'outer' object is supplied, but the component is not aggregatable, then 'NS_ERROR_NO_AGGREGATION' is returned. I don't know if you want to mention that this interface is binary compatable with COM's IClassFactory (assuming that it still is :-) )...
Assignee | ||
Comment 7•23 years ago
|
||
good catch. chak, can you pop another patch?
Comment 8•23 years ago
|
||
Comment 9•23 years ago
|
||
Comment on attachment 49377 [details] [diff] [review] Updated patch based on Rick's comments sr=rpotts@netscape.com looks good.
Attachment #49377 -
Flags: superreview+
Comment 10•23 years ago
|
||
Changes just checked in. nsIFactory is now frozen
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
I just saw this bug when the update showed up in a notice on the meta-bug. Why do we have nsIFactory::lockFactory? How does it interact with nsIModule::canUnload? What is a "component", in the comment for createInstance? I know what an object is, but people use "component" to mean - binary DLL implementing some interfaces, - thing that is registered for a contract ID, - XPI-bundle of component[1]s and other resources - service (long-lived, singleton object) I think it's confusing to say that the method "creates an instance of a component", and then say that it returns a "component".
Assignee | ||
Comment 12•23 years ago
|
||
> Why do we have nsIFactory::lockFactory? So that a factory can be held in memory if we ever support dynamic component unloading. > How does it interact with nsIModule::canUnload? I would guess that there would be a high level of interaction between these two calls. If I locked the factory, I would expect nsIModule::canUnload to return false. > What is a "component", in the comment for createInstance? I know what an object is, but people use "component" to mean I agree, we can replace the word 'object' for 'component' everywhere in that file.
Talk me through needing to lock the factory in memory. Who needs that?
Comment 14•23 years ago
|
||
nsIFactory is another one of those 'COM compatable' interfaces :-) originally, LockFactory(...) was present because IClassFactory has it too. -- rick
You need to log in
before you can comment on or make changes to this bug.
Description
•