How has SHR been built?


Please refer to the attached picture explaining how we built this architecture.

There's a central daemon called phonefsod which handles events. It's using libframeworkd-glib which is mainly a glib wrapper for dbus calls to frameworkd. There's a libphone-ui package which describes primitives of what we consider "views" having to be shown to the user.

These screens are called either by phonefsod on events (e.g. incoming calls) or by the user when he initiates things (e.g. dialer, contacts... - via phoneui-apps).

phoneuid caches those views to speed up those applications.

There can be as many libraries implementing libphone-ui as you can think about. The one SHR is based on right now is libphone-ui-shr. It's an implementation of the libphone-ui headers, and it uses libframeworkd-glib.

Updated Version of the SHR Architecture


SHR is build from the following parts:

  • OE - build environment, linux base
  • FSO - implementation of the FreeSmartPhone? API, does the lowlevel telephony work
  • SHR-specific code - talks to FSO, provides GUI

There are currently two implementations of the FSO API:

  • Frameworkd - the original, mostly python implementation
  • Cornucopia/FSO2 - Vala/C implementation

SHR is in the process of progressively replacing parts of Frameworkd with parts from Cornucopia/FSO2.


Daemon Origin Name Responsibility Links
frameworkd FSO Original FSO API implementation src
fso-gpsd FSO FSO gpsd-compatibility src
fsodeviced FSO2 FSO device daemon info src
fsotdld FSO2 FSO time, data and location daemon info src
fsogsmd FSO2 GSM Communications Manager info src
fsousaged FSO2 Resource Manager info src
phonefsod SHR FSO client src
phoneuid SHR UI daemon src
Last modified 8 years ago Last modified on Nov 10, 2011, 9:03:26 AM

Attachments (3)

Download all attachments as: .zip