"Sean Echevarria" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> For the sake of components that are built before the release of new
> interfaces, this is done via multiple-inheritance of both the old and
> the new interfaces.
>
> So a QI of the old interface would not return NS_ERROR_NO_INTERFACE,
> but exactly what the component expects.  No matter to the requesting
> component whether the interface is implemented by an an object that
> also happens to implement the newer version of the same interface or
> only the old version of the interface.

Yes, but in case of non-frozen interfaces, Mozilla does not feel any
obligation
to do that. And it is not realistic to freeze all interfaces, it is way too
limited for
any meaningful development, I certainly understand that. And supporting old
interfaces is non-trivial task by itself, especially if you really want to
make sure
it actually works (you almost have to develop special code to QA it).

What I am asaking, though, is much simpler and will not put any significant
burden
on the developers: simply change IID every time you make incompatible change
to an interface.

Peter

>
> Different issue when it comes time to deprecate/retire an interface.
>
>
> On Wed, 13 Jun 2001 23:29:13 -0400, Michael Ang <[EMAIL PROTECTED]>
> wrote:
> >
> >Are you also hoping that the old interfaces will still be available, or
> >do you just want to be able to detect the change (through
> >NS_ERROR_NO_INTERFACE)?  When you say you can "do something sane" if the
>



Reply via email to