Question with object_path registrations

Seth Nickell seth@gnome.org
21 Sep 2003 15:11:59 -0700


On Sun, 2003-09-21 at 14:00, Seth Nickell wrote:
> On Sun, 2003-09-21 at 09:06, Havoc Pennington wrote:
> > On Sat, 2003-09-20 at 23:52, Seth Nickell wrote:
> > > I'm trying to get dbus_connection_register_object_path and company
> > > working, but they don't seem to do anything. As a simple test, I've
> > > tried doing:
> > > 
> > > dbus_connection_register_object_path(..."/test/path"...)
> > > 
> > > And then:
> > > 
> > > dbus_connection_list_registered(..."/test/path"...)
> > > 
> > 
> > To list /test/path you have to ask for the children of just /test (i.e.
> > you are listing "subdirectories")
> 
> So I revised this so I now do...
> 
> dbus_connection_register_object_path(..."/test/path"...)
> dbus_connection_list_registered(..."/test"...)
> 
> But the children array returned is still empty.

OK, reading through the code I finally figured it out. You have to start
registering paths *at the base of the tree*, but not including "/". If
you register "/some/long/path" right from the get-go, it looks like
things succeeded, but a list of "/some/long" won't succeed because
"/some/long" is unknown. It may be prudent to help people understand
this in the docs too, though perhaps this is just me being bubble
headed.

-Seth