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.
