Hi, Currently, the openmoko-dialer is a standalone program which uses a basic method to make sure it remains single-instance. It is 'self-contained' and other programs cannot pass data to the running instance.
We are going to modify the existing dialer code so it becomes a DBus Service. This would involve a small amount of fiddling so that we can wrap the Dialer into a GObject, and export that objects Method and Signals over the bus. For the small amount of work, we gain some huge benefits: 1. The dialer is automatically single-instance, using the usual DBus method of checking if there is already an object using the namespace. 2. The dialer can export some much needed methods over the bus, such as: * Dial (): Which can be used by other applications to present the dialer and make it begin dialing the specified number. This is required by the Contacts application (inc. bug #591). * HangUp (): Is something that maybe useful to make sure that the dialer has cleanly finished a call, if, for instance the battery is running out. (it may just show a warning to the user, rather than actually hanging up the call). * ShowDialer (): Which, of course, would present the main dialer window to the user. * ShowMissedCalls (): Which is currently implemented by a command-line option, specifically for the Today application. * Status (): Which can let applications know of the current status of the dialer, so, for instance, if Contacts knows that there is a call going-on, it could construct its interface in a way that would make it easier to see contact numbers etc. 3. We can implement signals within the dialer object which would allow us to communicate the current state of the phone to other applications: * "incoming-call" & "dialing" signals. These could be used (for example) by the music application to pause the currently playing song. * A "hang-up" signal which would be emitted when all connections are closed. Could then be used to resume the song/video/etc. * A "talking" signal that a panel-applet can connect to, so it is displayed the entire time during a call, so even if you start a new application, it can provide an easy way to switch back to the dialer. As you can see, in addition to consolidating some existing methods used in the dialer, we can provide some extra functionality which could increase the user experience while using the phone, and have a unified method to access/manipulate the dialer's information. Regards, Neil J. Patel, Thomas Wood -- OpenedHand Ltd. Unit R Homesdale Business Center / 216-218 Homesdale Road / Bromley / BR1 2QZ / UK Tel: +44 (0)20 8819 6559 Expert Open Source For Consumer Devices - http://o-hand.com/ ------------------------------------------------------------