Michele Calgaro wrote:
Hi Emanoil,
where are you with this? and can you share a link to the original code?
cheers
Michele
Hi Michele,
$ dpkg -S /usr/bin/dbusxml2qt3
libdbus-1-tqt-dev: /usr/bin/dbusxml2qt3
To my original message - I see a problem with TQMap - TQMap<
TQT_DBusObjectPath, TQT_DBusDataMap< TQString > generated by the tool is
not supported. I worked around it by changing the generated code to use
TQT_DBusData, but it is not the end of the story. So let me explain
Now I was looking in an option to reuse the gui for kbluetooth and rewrite
the code to work with bluez5. I have been missing this since 2008, when I
saw it in SuSe. In the meantime bluez changed a lot - perhaps for the
better, so the code base is not really usable.
In official bluez5 docs it says the entry point is ObjectManager in root of
org.bluez. I try to retrieve and parse the data (objects) returned from
ObjectManager when calling GetManagedObjects but I hit one problem and I
think it boils down to dbus-1-tqt and perhaps TQMap as mentioned above.
I have 3 devices paired. The problem is that using tqt I get only the last
object path back. However, when using dbus or qdbus I see all of them
including the moregeneral paths. For example if I call
qdbus --literal --system org.bluez /
org.freedesktop.DBus.ObjectManager.GetManagedObjects
or
dbus-send --system --print-reply=literal --dest=org.bluez /
org.freedesktop.DBus.ObjectManager.GetManagedObjects
I have
/org/bluez
/org/bluez/hci0
/org/bluez/hci0/dev_xx_xx_xx_xx_xx_01
/org/bluez/hci0/dev_xx_xx_xx_xx_xx_02
/org/bluez/hci0/dev_xx_xx_xx_xx_xx_03
With the code attached I am seeing only the last
one /org/bluez/hci0/dev_xx_xx_xx_xx_xx_03.
If there is no adapter attached, I see /org/bluez
When removing dev_xx_xx_xx_xx_xx_03 I see only dev_xx_xx_xx_xx_xx_02. After
pairing dev_xx_xx_xx_xx_xx_03, I see again only this path.
I need help to overcome this obstacle, please. It might be also that I am
doing something wrong as well :), but could be that there is something
wrong handling such scenario
So these are the two problems I face:
1. I get only last object path from ObjectManager
2. TQMap does not support TQMap< K, TQT_DBusDataMap< T > >
I tried parsing the result from ObjectManager with both TQMap and
TQT_DBusDataMap with same result. I have not looked into the dbus-1-tqt
code (yet), but it could be toObjectPathKeyMap or map handling is somehow
broken.
So I am going to write a test next to construct and deconstruct objectpath
maps in similar way they are returned by ObjectManager and I will report
back.
If you or someone else could help with #2, it would be also great. I looked
into the code briefly and from what I have seen there is no valid template
to handle this case.
regards