Hi Stephan,

> 1  Leave everything as is and force C++ client code to do the 
> disambiguation.

ugly, IMO (means: -0.5). For the moment probably acceptable, but I
expect more situations like those to arise once multiple inheritance is
widely used.

> 2  Make the changes proposed above, ignore the potential 
> incompatibility, and extend the cpp_uno bridges.

+0.5

> 3  Instead of adding pure virtual disambiguating functions as proposed 
> above, add specially-named non-virtual inline functions to the 
> cppumaker-generated classes, like
> 
>    class XFormControlModel: ... {
>      ...
>      inline Reference<XPropertySetInfo> call_getPropertySetInfo() {
>        return static_cast<XUnoControlModel*>(this)->getPropertySetInfo();
>      }
>      ...
>    };

-1
It still leaves the developer with the need to know the pitfalls of a
given interface, and work around it by applying some syntactic sugar. In
this respect, it's equal to 1, but more ugly since it does not even keep
the UNO identifies the developer is used to.

> 4  Make the cut and change the C++ UNO language binding in an 
> incompatible way by using virtual inheritance for interfaces.  Ideally, 
> this would only be incompatible in that C++ code has to be recompiled, 
> but nothing else changes.

+1

Ciao
Frank

-- 
- Frank Schönheit, Software Engineer         [EMAIL PROTECTED] -
- Sun Microsystems                      http://www.sun.com/staroffice -
- OpenOffice.org Database                   http://dba.openoffice.org -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to