Interfaces, Errors, and Python bindings (oh my)

Seth Nickell seth@gnome.org
25 Sep 2003 14:54:57 -0700


> The three namespaces are often similar, but there are also cases where
> they aren't:
> 
>  service = org.gnome.GnomeSession
>  interface = org.freedesktop.Introspectable
>  path = /org/gnome/desktop/Accessible
>  method = Introspect

Oh, I'm not saying that the namespaces are identical, sorry, the
confusing part is that they have the same form: in particular the
service and the interface. The "path" namespace is clearly related, but
also clearly denoted as different. Its all about having "typing"
information, whether formal or just human-recognizable. All the elements
are char *, but worse two of the char * are not differentiable from the
get go. It just makes the relation between things harder to figure out.

I guess there's no easy way to deal with this, it would be dumb to have
org*freedesktop*Introspectable ;-) 

> Or whatever. Anyway, it's a bit strange but I don't have a clever plan
> for changing it. If you omit the interface on the client side it's
> identical to DCOP except for the "org.freedesktop." or whatever in the
> service name, which is just a convention (though one I think we should
> follow, namespaces are a fact of life).

Really I don't think its complicated once you understand it. It just
might be worth thinking about how to more clearly present these ideas in
the API (which is what I was thinking about for #1, using the word
"method_namespace" rather than "interface").

-Seth