Reminded by a talk on Guerilla marketing today, I'd like to take a moment to recommend that people who hack on dbus related stuff consider a few basic ideas for generalising services.
As an example... Colin Walters has been working on a CUPS thingy (blogged
here) and he says:
Eggcups will respond to a D-BUS request for a password by popping up a dialog. It uses libgnomeui for the dialog, and also uses gnome-keyring to optionally store the password.
This demonstrates one of the things which I personally find irritating in people's use of dbus.
In my opinion, popping up a dialog and asking for a password; then using gnome-keyring to store that password is completely the wrong way up.
The utopian view of things involves services. D-BUS is all about services and services should be generic. So what Colin should be doing (in my opinion) is getting gnome-keyring to provide some form of org.gnome.keyring service with a GetPassword method call. That could look up the password by some key in the keyring and reply with the password (or prompt as appropriate for the keyring master password etc). Asking for a password should not be a behaviour of a printer management system. Especially given that it is using a password management service.
HTH... D.