Christopher Blizzard wrote:

> Doug Turner wrote:
> 
> 
>> There is some going back and forth about what the name of this new 
>> interface *should* be; either nsIServiceManager - renaming the 
>> 'original' interface or nsIServiceManager2 - saving the 'original 
>> interface.  I have gone with the former as I prefer it.  I can be 
>> convinced otherwise.
> 
> If you want to chase the ghost of backwards compatibility for some 
> busted binary only plugins the only way to do it cleanly, and correctly, 
> is to keep the interface name and interface methods the same.
> 
> It looks like that from your posting that you are renaming the old 
> interface and changing nsIServiceManager by removing methods.  It seems 
> to me that if you're doing this and still wanting to retain backwards 
> compatibility that you are going to run into problems since with C++ 
> name mangling you're going to get your new nsIServerManager 
> implementation with the expectation of the old interface.
> 
> If you're not wanting to maintain backwards compatibility then I would 
> say "go for it" and just change nsIServiceManager and don't keep the old 
> one around.  But if you are maintaining it, please do it the right way 
> and keep the mantra "interfaces never change."
> 
> --Chris
> 

I have tested built plugins that shipped with Netscape 6.1 and they seam 
to work fine.


Reply via email to