> 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

Reply via email to