Phone functionality in GUI applications

Thomas Wood thomas at openedhand.com
Tue Oct 16 13:57:46 CEST 2007


Hi,

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
odd.

A diagram of our proposal is available at the following URL:
    <http://folks.o-hand.com/thomas/openmoko-phonekit-proposal.pdf> 


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
====================

PhoneKit
--------

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.


MokoJournal
-----------

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


Home
----

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

Uses MokoJournal to retrieve SMS and call information

Uses PhoneKit to retrieve current operator name


Dialer
------

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


Contacts
--------

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.

Regards,

Thomas


-- 
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/
------------------------------------------------------------




More information about the framework-devel mailing list