Hello, There seems to be an error in dbus:send in the dbus egg. As a test case, the first example given in the dbus egg docs will show the problem:
http://wiki.call-cc.org/eggref/4/dbus#examples-you-can-test-with-qt I built the two programs 'car-example-client' and 'car-example-server'. There is a trivial bug in the code for the server; you just need to rename the symbol 'dbus:enable-polling-thread' to 'dbus:enable-polling-thread!'. I used dbus-monitor to inspect the dbus traffic in the test. That program outputs a lot of information, so to keep the following listing short, I've snipped out stuff that is irrelevant to this test. === BEGIN LISTING === $ dbus-monitor & [SNIP] $ ./car-example-server & [SNIP] $ ./car-example-client [SNIP] signal sender=:1.110 -> dest=(null destination) serial=2 path=/Car; interface=com.trolltech.Examples.CarInterface; member=turnRight [SNIP] $ dbus-send --dest=com.trolltech.CarExample /Car com.trolltech.Examples.CarInterface.turnRight [SNIP] signal sender=:1.111 -> dest=com.trolltech.CarExample serial=2 path=/Car; interface=com.trolltech.Examples.CarInterface; member=turnRight [SNIP] car is turning to the right === END LISTING === Notice that when I ran car-example-client, the 'dest' field of the dbus message is "(null)" destination, and the car did not turn to the right, but when I sent a message with dbus-send, with the correct 'dest', car-example-server received and responded to the message. Looking at the definition of dbus:send in dbus.scm, the problem appears to be related to the fact that the function binds the variable 'service' to the correct value, but never uses it. Thank you, -- John Foerch _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
