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. "Fuck it." :(
-Stephan
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]