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