Doug Turner wrote:

> I think that we are mixing up things here.  The nsServiceManager can be 
> part of a static library which gets punted to plugin venders.  Plugin 
> venders will have to relink to this new library, but their code will 
> effectively remain the same.  Stuff in this static lib, can be in flux 
> as long as what it depends on does not change.
> 
> Does this make sense?


As a general strategy, I think it makes a lot of sense -- things like 
nsCOMPtr and maybe the generic-module bits really want that sort of 
treatment.

> I mean, we freeze nsIServiceManager.  For those that need a helper class 
> , they can link to a seperate lib that give this to them.  They don't 
> have to directly link to xpcom.

Who "needs" a helper class?  People are expected to access the component 
manager through the interface pointer we give them, and I think the only 
reason that people are using nsServiceManager:: right now is that we 
don't pass nsIServiceManager into nsIModule::getClassObject.  Once we 
fix that -- which we get for free with the compmgr/servmgr merger, 
right? -- there will be no need for such use, just as there's no need 
for nsComponentManager:: to be frozen and supported.

Mike


Reply via email to