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
Comment 11•23 years ago
|
||
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.
Comment 13•23 years ago
|
||
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
•