On Friday, Mickey mentioned to me that libmokogsmd would probably not be
used in the final software stack. Instead, he would prefer a d-bus based
interface to GSMD. Yesterday, Rob, Chris and I sat down around a
whiteboard and came up with some thoughts on how the phone functionality
in GUI applications might be managed.

The following is the notes and thoughts from our meeting. I haven't
included all the decision details, so please do ask if anything seems

A diagram of our proposal is available at the following URL:

Current Arrangement

GUI applications use the MokoGsmdConnection gobject provided by
libmokogsmd to access the phone functionality. MokoGsmdConnection is a
very thin object wrapper to libgsmd. It is very incomplete and operates
as one instance per process. It has no awareness of any other
applications accessing gsmd, nor does it manage any events from gsmd
itself apart from passing them on to the application.

Proposed Arrangement


A new phone functionality d-bus service for GUI applications.

Exposes a high level d-bus api to phone commands and events. Very
similar to current d-bus functionality exposed by Dialer (for example,
Dial function and incoming-call event).

Updates the journal on gsmd initiated events such as incoming sms or
voice mail.

Produces system model GUI dialogs for call handling (incoming, outgoing,
in call) and manages pin entry on network registration.


Manages communication history such as call logs and SMS messages. SMS
messages are stored in the journal. Listens to the journal for events
such as new sms.

Uses e-d-s (Evolution Data Server) calendar journal component to store
and retrieve data


The current "Today" application, provides the entry point for all

Uses MokoJournal to retrieve SMS and call information

Uses PhoneKit to retrieve current operator name


Very simple application that just displays call history from MokoJournal
and presents user with a keypad.

Uses PhoneKit to initiate phone calls

Uses MokoJournal to retrieve call logs


Displays the address book

Uses e-d-s to retrieve contact information

Uses MokoJournal to retrieve call history per contact

Uses PhoneKit to initiate phone calls

Panel Applets

Uses PhoneKit to retrieve network information such as operator name,
signal strength, voicemail indication and GPRS status.

Comments and suggestions welcome on any of the above.



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/

Reply via email to