[Pipet Devel] SV: [Pipet Devel] SV: [Pipet Devel] Tools for parsing XML with Python

Svanberg Liss lisss at ydab.se
Mon Sep 27 15:46:25 EDT 1999


> David, Gary and I spoke a bit about making the GUI connections between
loci. 
> Loci should be able to tell the user what can be connected to what.  For
> example, you wouldn't feed a PDB file (directly) to a DNA seq aligner.
So,
> objects or object types should have very specific IDs, and a locus should
be
> able to say, 'I need input from locus type XXXXXXXXX'.  If you try to
connect
> locus type YYYYYYYYY as input, you'll get an error message.  Does
Bonobo/CORBA
> give us just that or will we have to define IDs for every locus or locus
type?

Mmm, yes to some extent.
Gnome ( or bonobo ) is based upon an interface called GNOME::Unknown.
An unknown can be refcounted, shut down :), or queried.

The interesting part is the query, ( and the concept is shamelessy stolen
from Microsoft of all places ;)

You *don't* query an unknown about what it is.
Instead, you query it for functionality.

Say that someone sends you an unknown. You has been sent it as a container,
so you suspect that it is a storage. If you want to use it as a storage,
then you query it about "are you a storage?" and, if it is, it will return a
GNOME::Storage ( that is just a different reference to the same object )

The queries is of the kind object.query_interface("IDL:GNOME/Storage:1.0"),
that is, the ID's are strings and not numbers - slower, but more flexible.

However, GNOME::Storage completely lacks a method to enumerate what kind of
functionality it supports.

By the way. All GNOME::<anything> objects inherite from GNOME::Unknonwn.
// Liss




More information about the Pipet-Devel mailing list