On 11/08/2014 09:45, Alex Peshkoff wrote:
> On 08/08/14 20:47, Adriano dos Santos Fernandes wrote:
>
> At least I have time to answer tech question. What a luck!

Sure.

>> Automatic vtable upgrade is ok for me, provided we have a trust-able and
>> reliable way to add them.
>>
>> Attached a demo for it, search for "upgrade". I implemented dummy
>> PluginModule for the demo.
>>
>> It works provided that who called the method that returned the new
>> object was compiled together (or with the same API version) of who is
>> calling the object method. In most of cases I'd imagine, this is true.
>>
>> What do you think?
> Currently I do not know other usages.
>
> Some small detail - it's better to upgrade to the current version at 
> once to avoid upgrading first to 4, next to 5, etc.
Sure.

>> But there may be more cases, like passing a [in]/out parameter, but may
>> be possible in C++.
> May you be a bit more explicit here?
> If it's about passing interface as parameter - yes, version 
> check/upgrade is needed here.
> But I do not catch how you differ for interface is it in or out?
>
With pointers to pointers. Imagine something like this:

void execute(/* in-out */ ITransaction** transaction);

ITransaction* transaction = ...;
execute(&transaction);

AFAIK we currently does not have this, however.


Adriano


------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to