Since upgrading to 3.32 (and possibly before), I have been having a problem
with calling the new, experimental DefaultAdapter method against the "/".
When I do so, it properly returns the Adapter path "/hci0", but fails with the
following error: Unregistered object at path '/hci0'.
Prior to this, I used to call what was effectively the old DefaultAdapter
using the "/org/bluez" path and returning the old string version of
the Adapter path, receiving "/org/bluez/hci0".
Output of my failing program is as follows (also, in
DefaultAdapterOut.txt):
after dbus_g_proxy_new_for_name
(dMgrObj)
bus:
org.bluez
path: /
interface:
org.bluez.Manager
Failed to get DefaultAdapter: Unregistered object
at path '/hci0'
At the same time, I called dbus-send to see if this was some more
fundamental failure, but calls against both paths are successful, as shown in
the following (DefaultAdapter.txt):
[dstockwell@freqonec001 ~]$ dbus-send --system --type=method_call
--print-reply --dest=org.bluez /org/bluez
org.bluez.Manager.DefaultAdapter
method return sender=:1.12 ->
dest=:1.22
string "/org/bluez/hci0"
[dstockwell@freqonec001
~]$ dbus-send --system --type=method_call --print-reply --dest=org.bluez /
org.bluez.Manager.DefaultAdapter
method return sender=:1.12 ->
dest=:1.23
object path "/hci0"
I have attached a cut-down version of the source, which I am compiling
against KDE and MandrivaLinux.
MY SUSPICION is that the real problem is that I did not
adjust my source application to use libgdbus, introduced in 3.32.
Specifically, given the following set of includes, which of these are replaced
by gdbus.h?
#include <dbus/dbus.h>
#include
<dbus/dbus-glib.h>
#include
<dbus/dbus-glib-lowlevel.h>
#include <glib-object.h>
Any hints will be appreciated...
David Stockwell