Re: Interface introspection



Hi, 

> OAF works fine for remote components as long as you have the IID for
> the component - there's no need to have the oafinfo file local (oafd
> is able to talk to remote ObjectDirectories). I plan to enhance it so
> that it can be used for running objects as well without having to know
> how it was activated. One simple possibility is a an interface you
> could QI for that has a getIID method, which would then enable you to
> query for info about the object.
> 
> However, we should not add to Bonobo::Unknown. There's a particular
> reason IUnknown was designed to have only QueryInterface and not
> GetAllInterfaces or whatever, which is to make it possible to do
> things like dynamically adding new interfaces to the object, binary
> reusability, etc. An optional interface you can QI for can add more
> introspectability to those objects that can support it, without
> interfering with the fundamental dynamism of COM-style object models.
>
> I suggest reading chapters 1 and 2 of Essential COM before you
> suggest changing fundamental parts of the component model.


Forgive me, but perhaps you should take your own advice. If you had, you
would know that components in COM are not allowed to dynamically change
their interfaces. QI for COM was designed to be static and reliable for
the same component.

Since bonobo makes no promises as to QI's dynamism, associating
currently supported interfaces with the component and not the activation
mechanism is the way to go, and such an addition to Uknown is arguably
necessary. At the very least making ComponentProperties a mandatory
interface.

-Alex





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