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