Re: IR browser (was: 2.0.X roadmap) (rather long)



Miguel de Icaza <miguel@gnu.org> writes:

> 
> Well, the IR could just return an interface and its description, we
> need to return actual *implementations* of the interfaces, ie their
> GOAD-IDs.

mm: i am not sure if you understood me: the windows object browser
simply allows you to look at the functions definitions and their arguments
Then, it is up to the programmer to take the interface name and use
it with the CreateObject function (i think it is called this way in VB)
to launch the actual implementation of the object.
The pb you raise is that of the CreateObject function: how will we code it ?
I have no idea as to how to solve this.

I was raising another pb.
However, basically, i was stupid: in fact, we need a way to list the available
objects and their interfaces without launching them: the IR will allow
you to look at only the running objects which is not what we are looking for.
Perhaps we could write some code which looks at the executables listed by 
the GOAD:
1) ask the goad for its list of runnable objects.
2) use the GOAD info to fetch the IR information from the 
executable/executable-factory.
3) display stuff...

How the 2) could be done is a mistery to me... If i am not mistaken, the 
orbit-idl compiler should generate some nice initialisation code for the IR in 
stubs/skeletons so that programmers are not obliged to register their objects 
against the IR. This means that orbit-idl must store the interface information 
somewhere in its executables in some form or another.
Am i mistaken ?
If i am right, then i think it would be a *REAL* pain to fetch this info from
executables... Probably depending on the OS used and its binary format...

So we probably need another way to handle this. I think the solution is to 
do as follows:

GNOME prgms all use the gnome_CORBA_init fonction which, if i am not mistaken, 
reads the command line to detect special arguments.
If we pass some special argument like --IR-info, the gnome_CORBA_init function 
should decide to return something on stdout (or anywhere it sees it fit) which
precisely describe the interfaces data (perhaps the raw ascii data of the idl 
file).
Then, the function could exit on its own.
I am not sure whether this is feasable or not as it will probably be extremly
time-consuming. I cannot think of any other solution.
On windows systems, i think they read the executable data to fecth the 
Interfaces definitions.

Anyone with any better idea ?

Did i said something *REALLY* dumb ?

regards, 
Mathieu

-- 
Mathieu Lacage 
Snailmail: ch 224, 212 Rue de Tolbiac 75013 Paris
email: lacage@email.enst.fr
url: http://www.stud.enst.fr/~lacage



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