Re: Interface Versioning



On 11 Jul 2001 14:28:23 -0400, Michael Meeks wrote:

> 	'give me libgtkhtml.so.173'
> 
> 	The way oaf activation happens is often more like:
> 
> 	'give me something implementing the 'open' interface'
> 
> 	If you go and change the signature of the 'open' method to take a
> 'froznik *' pointer instead of int length, and install two versions
> implementing this interface - then the system acts erraticaly, ambiguously
> and it is not possible to fix: the contract has been broken between
> components.

Correct me if I'm wrong, but as I understand it you can avoid this
ambiguity.

You don't activate on interface name, you activate on repo id (you ask
IDL:Bonobo/Foo:1.0, not Bonobo/Foo).  The repo id includes an interface
version.  The default is 1.0, but it can be changed in the idl file (I
believe it uses #pragma version to change it).

So in your example, you don't really ask 'give me something implementing
the 'open' interface', you actually ask 'give me something implementing
IDL:open:1.0' or 'give me something implementing IDL:open:1.1'.

-dave






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]