Object paths naming conventions?

Marcel Holtmann marcel at holtmann.org
Fri Jul 18 10:09:00 PDT 2008


Hi Havoc,

> > Your point is that every API contract should use namespacing of object
> > paths to allow multiple APIs in one process. And I agree that is a nice
> > feature to have. However my point is that namespacing the object path is
> > not needed since we do have namespaces within the interface names in all
> > cases that I have seen so far.
> 
> How does a namespace on the interface prevent collisions on instances?

for me the instance is object path + interface name and that has no
collisions when use namespaces on the interfaces.

> > From the client point of view and thus the language binding actually
> > using the API, I think the language object you always refer to is
> > represented by the object path + interface name. Feel free to correct me
> > here, but that is my experience.
> >
> > So why do we need namespaces in the object path and the interfaces. What
> > kind of benefit does it give us?
> 
> The problem is that in say Java or C++, you don't want the object at
> "/" to be like:
> 
>  class DoEverything implements SessionManager, Accessible,
> Application, Foo, Bar Baz {
>     // insert giant boatload of methods here
>  }
> 
> You want separate objects and code modules for the different functions.

Yes, I do want that, but as mentioned above. The actual instance is
represented by the object path + interface name.

The D-Bus interfaces don't allow overwriting, shadowing etc. of method
calls. They have nothing in common with an object oriented programming
model. I would even say they are just another way of namespacing method
names.

Regards

Marcel




More information about the dbus mailing list