I’ve added methods for parsing D-BUS Introspection Data.
Now you can get informations about available interfaces, methods, signals and properties with the nsIDBusInterface object.
In order to test my methods I wrote an dbus-viwer clone in XUL : http://trac.csquad.org/browser/trunk/examples/dbus-viewer
Here is a screencast (1 Mo) where you can see dbus-viewer in action.
August 29, 2006
August 21, 2006
Sorry, I did not update my progress since one month.
Here is my current progress on that project :
- Signals are supported, you can send en receive signals
- Introspection XML data is now parsed by my component
- I’ve wrote an dbus-viewer clone in XUL
- I’ve integrated Threads
But I did not release a 0.1 version because my wrapper produce a dead lock :
If you listen for a signal and call a remote method, you program get locked.
This is a common usage of D-BUS and I think that I can’t release my work without it.
This problem is caused by libdbus witch is not threads “aware” and because I don’t have a shared
lock between my threads.
Havoc Pennington explained me howto solve this issue : integrate libdbus inside my mainloop as glib as done :
This integration is hard because D-BUS is using UNIX file handle and NSPR does not provide functions to handle it.
I did not expect so many technical difficulties, but I stay motivated.
I continue to work on my project (after the end of the summer of code) and I will release version 0.1 as soon as the dead lock issue is solved.