Open Bug 181513 Opened 22 years ago Updated 2 years ago

change xpcom so that callers do not need to know that a class is a service

Categories

(Core :: XPCOM, enhancement, P3)

enhancement

Tracking

()

People

(Reporter: timeless, Unassigned)

References

Details

(Keywords: arch)

People want to believe that being a service is an implementation detail, but the fact is that it isn't. There is no way for something to find out if the implementation of a contract is a service and therefore "must" be accessed by using getService() instead of createInstance(). Someone suggested using nsIClassInfo, but the catch 22 is that to use classinfo you need a class which means either calling getService() or createInstance() -- and in today's world if you call the wrong one, bad things will happen. I'll attach a discussion, some ideas and other stuff later, for the time being I just need this bug so I can reference it elsewhere.
*** Bug 181511 has been marked as a duplicate of this bug. ***
*** Bug 181508 has been marked as a duplicate of this bug. ***
*** Bug 181506 has been marked as a duplicate of this bug. ***
*** Bug 181504 has been marked as a duplicate of this bug. ***
*** Bug 181502 has been marked as a duplicate of this bug. ***
*** Bug 181493 has been marked as a duplicate of this bug. ***
*** Bug 181495 has been marked as a duplicate of this bug. ***
*** Bug 181497 has been marked as a duplicate of this bug. ***
*** Bug 181499 has been marked as a duplicate of this bug. ***
blame me for all the duplicates (timeless most likely got bitten by bug 177326).
Blocks: 181518
Blocks: 181519
No longer blocks: 181518
QA Contact: scc → xpcom
Assignee: timeless → nobody
Priority: -- → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.