Re: OAF and XServiceInfo



Michael Hoennig "(mi)" <mi sun com> writes:

> Hi Majiej,
> 
> > I don't know what XServiceInfo does, but perhaps it's similar to the
> > introspection about activated objects that I'd like to see in OAF in
> > the future.
> 
> I don't think so. But I suggest to take a look at the interfaces. 
> OpenOffice introspection is much more that just this simple "service 
> listing" XServiceInfo. It is a complete runtime type inspection. See 
> com::sun::star::reflection for core reflection and com::sun::star::script 
> for introspection. 
> 
> Core reflection, btw, is analyzing the interfaces of objects down to 
> methods and their argument types and return types. Introspection 
> interprets that stuff and gathers additional data from method calls (i.e. 
> to find out runtime properties), it is mostly for scripting engines.

This is already handled in CORBA by DynAny, DSI, DII, the Interface
Repository and the like. Do you think the OpenOffice-specific
technologies for this are better than the CORBA standard ones? I am
not very familiar with either.

> > * But boy, it would be nice to be able to do queries about running
> >   activated objects even if they were not activated by a standard OAF
> >   method. That seems rather compelling to me. It makes for a powerful
> >   system-wide introspection facility, not merely a per-object one.
> 
> That's why I would suggest, not to put it into the OAF.

Why is that a reason not to put it in OAF? I was claiming it was a
reason it _should_ be in OAF. Perhaps one of us is confused. What I
wanted to suggest is that you should be able to do the equivalent of
an `oaf_query' on all running objects in the system, which would allow
you to find all the objects that meet certain conditions. This
requires centralization I think.

But to be honest, I don't know what you do and don't want to put in. I
want to see something which provides information similar to
XServiceInfo and also to OAF_ServerInfo for running objects. Are you
talking about that, or the low-level introspection stuff above?

> Probably there is code to share, but I would suggest to have a
> separate component which does core reflection and introspection on
> objects. That is actually the way OpenOffice is doing it. And if
> BONOBO does not have anything here, we should not kick it out,
> before knowing WHY.

I suggest two plausible reasons:

1) We have a system for introspection on unactivated objects. Surely
   it makes sense to have as much commonality as possible between this
   and a system for introspection on running objects. (When I say
   introspection I mean things like object attributes and provided
   interfaces, not examining methods and argument types like the IR
   provides).

2) Being able to do queries on the whole set of running objects is
   easy to conceive of using OAF, but difficult to imagine otherwise.

I think a component that both OAF and Bonobo could use might be one
way to achieve this. 

Anyway, I don't think your design is bad; I merely hoped to bring
together some good GNOME technology with some good OpenOffice
technology and merge the best aspects. 
 
> > If service specs were entirely separate from OAF, all the info in the
> > service spec would have to be duplicated in the oafinfo file. 
> 
> I would mostly say, C code is duplicated in o files as well - somehow ;-) 
>

But the .o files are generated from the .c files by a compiler. If you
think .oafinfo files can be automatically generated from .svc files or
vice versa, that would be great but I cannot think of how at the
moment.

 - Maciej




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