Object path values - which service do they belong to?
Daniel B. Faken
faken at cascv.brown.edu
Wed May 18 11:41:47 PDT 2005
Havoc Pennington wrote:
>This is the kind of thing I'm talking about. If we really want to make
> it look like we're passing objects around, OBJECT_PATH isn't right.
>
> We need a location-independent encoding of the object (including address
> and bus name), and we need to shove "enough" type information around
> with the object (such as the interface). There are also issues like
> "when are two objects the same object" and object lifecycle and so on
> and so forth that start coming up.
Can't we use the 'Introspect' method to let objects define their own
interfaces?
Likewise, can't we let objects themselves decide when they are equal,
with some standard method like std_test_equality(otherobj)?
> Making OBJECT_PATH look like an object is an incredibly leaky
> abstraction, I guess I would say. The argument for OBJECT_PATH rather
> than CORBA in many ways is that this particular abstraction is
> _inherently_ leaky so the best goal is to keep things simple and
> transparent.
What do you mean by 'leaky' abstraction?
Maybe an easy solution would be to define an object as a string like
[[bus-name::]service-name::]object-path[/default-interface-name]
I.e. to have only the object-path required, and the other parts easily
extracteable when present. ?
I'm already representing DBus 'objects' as proxies that have a default
interface and know what service they belong to. Its just that this
information isn't encoded by OBJECT_PATH...
The extra info would only be needed if I'm talking to a third party, and
since I can sense this, I [cw]ould only encode the extra info when
necessary.
cheers,
Daniel Faken
More information about the dbus
mailing list