Stephan Bergmann wrote:
Stephan Bergmann wrote:
Frank Schönheit - Sun Microsystems Germany wrote:
Thus, I would even vote for relaxing the compatibility restrictions:
Heck, please allow me to add new interfaces/properties/attributes to
existing services/interfaces while they grow. Don't let us stay with a
5-year-old design just because in a very esoteric theory, somebody could
have created another implementation of this service. OOo is evolving,
why isn't its API allowed to evolve in a *usable* way?

I know, I know.

Thinking once again about it, a cheap peace offering could be the introduction of an "extensible" keyword for interfaces and the concept of interface ownership:

- You must not implement objects that have an extensible interface unless you are the owner of that interface (that implies that you must not introduce service or singleton specifications that implement that interface, either).

- You cannot inherit other interfaces from an extensible interface.

- The owner of an extensible interface can add members to its end (inherited interfaces, methods, attributes).

Not completely thought through, but should probably work. How does that sound?

Not thought through enough, unfortunately: The general UNO way to compute function indices (see <http://udk.openoffice.org/common/man/typesystem.html>) sorts all direct attributes before all direct methods of an interface, and at least the binary-UNO--C++-UNO bridge and the URP protocol rely on this function index definition.

Further removing the right to add attributes at the end of extensible interfaces would limit the usefulness of such an "extensible" concept even more, to the point where it becomes ridiculous. So, it seems the splendid days when we will have our cake and actually eat it too are once again not in sight. "F**k it." :(

[The original, more "explicit" version of this mail did not come through, for reasons unclear to me. Welcome to kindergarten?]

-Stephan

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

Reply via email to