> Not responding you directly, but anyway... > > I'd want to say again that user should not pass a function to > upgradeInterface. Every function (except some ones from base-core > classes / IStatus) should consistently use a first parameter of type > IStatus. The upgradeInterface should point non-existent functions to a > function that set the status to not-implemented-error. A function passes > by the user is not only error-prone (as the code still needs to deal > with code saying not-implemented-error via status) but incorrect (you > can have a object pointing to only one vtable, while upgradeInterface > may be called by different places). >
I agree with you that such single functions is sooner of all simplemost solution. The drawback is that some things like trace do not need first IStatus parameter at all. > The more I see this the more I think a slight different solution should > be adopted. For example, we may have wrapper generated automatically, > and this vtable-changes may be done in the wrapper object vtable instead > of the wrapped one. If we can have such solution for interface with arbitrary number of methods with arbitrary parameters - why not? And if possible w/o asm. ------------------------------------------------------------------------------ vRanger cuts backup time in half-while increasing security. With the market-leading solution for virtual backup and recovery, you get blazing-fast, flexible, and affordable data protection. Download your free trial now. http://p.sf.net/sfu/quest-d2dcopy1 Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel