=== What: dbus-intf Where: http://sourceforge.net/projects/dbus-tcl Description: The DBus-Intf project provides a Tcl interface to the dbus message bus system. It allows Tcl programs to create and publish a fully introspectable dbus interface. Updated: 12/2009 Contact: [Schelte Bron] === The dbus-intf package builds on the [dbus-tcl] package to allow you to provide a fully functional [dbus] interface for your application that other programs can use to communicate with your application. ---- As an example, you can use dbus-intf to add some debugging facility to your application by including something similar to the following code (Note: use your own domain and application name instead of 'tk.tcl.wiki' and 'demo'): === package require dbus-intf dbif connect tk.tcl.wiki.demo dbif method /debug eval Expression Result { uplevel #0 $Expression } === Then, while your application is running, executing the qdbus command will include 'tk.tcl.wiki.demo' in the list of reported names. Next, running 'qdbus tk.tcl.wiki.demo' shows: === / /debug === Drilling down deeper using 'qdbus tk.tcl.wiki.demo /debug' returns: === method QString tk.tcl.wiki.demo.eval(QString Expression) method QDBusVariant org.freedesktop.DBus.Properties.Get(QString interface_name, QString property_name) method void org.freedesktop.DBus.Properties.Set(QString interface_name, QString property_name, QDBusVariant value) method QString org.freedesktop.DBus.Introspectable.Introspect() === To execute a Tcl command in your running application, you would use: === # qdbus tk.tcl.wiki.demo /debug tk.tcl.wiki.demo.eval "info patchlevel" 8.5.9 === <>Interprocess Communication