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 -- ------------ Christopher Blizzard http://people.redhat.com/blizzard/ Mozilla.org - we're on a mission from God. Still. ------------
