Doug Turner wrote: > > I think I take this statement back. I found a nice workaround. I have > tested Sun's JRE against my changes and it seams to work fine. (I am > using them because they use the service manager built against xpcom > around the time of netscape 6.0/6.1. I could have just as easily used > another plugin).
Renaming old interfaces can burn you if any callers rely on linking to exported entry points whose names are mangled using the old name; i.e. some exported function that used the interface as the type for a param. Try the following to see some exported examples of this... dumpbin /exports xpcom.dll | grep nsIServiceManager You might not want to trust your small test sample if other callers also need to be supported. John. > > Doug Turner wrote: > > > I think that the only way to create a new interface while preserving > > backwards compatiblity is to not rename the existing class. I just > > banged up against the problem that nsServiceManager has two functions > > which take nsIServiceManager interfaces. I was planning to just rename > > these bests to nsIServiceManagerObsolete, but of course that would break > > everything. > > > > So, nsIServiceManger2 seams like the best thing to do. After all it is > > only a name. :-) > > > > comments? > > > > Doug Turner wrote: > > > >> Okay, I have started on a new nsIServiceManager. > >> > >> The old stuff will still work, but it will be named > >> nsIServiceManagerObsolete. The static class nsServiceManager will > >> still be supported, but it will call through to the new stuff. > >> > >> I will attach patches later this week. > > > >
