wiki:PhoneKitProtocols

DISCLAIMER : This page is here to write down stuff that lays in my mind. This is in nothing related with current SHR work!

Introducing Phonekit

What is a phonekit ?

A phonekit is a set of processes (gadgets, apps, user-space daemons, ...) that participate/collaborate in managing the telephony activity.

Examples of phonekit elements are :

  • the GSM gadget, that indicates GSM network informations, living in the tray,
  • the dialer app,
  • the deamon that make the incomming call screen to appear when an incomming call occurs,
  • ...

What are phonekit parts ?

We distinguish for a specific subset of phonekit elements that handles UI aspects of telephony. We name those "phonekit parts".

Phonekit parts may be implemented using different languages and toolkits. Some parts may live in the same or different processes.

As such, we need an IPC protocol in order for them to communicate about telephony state changes, just as FSO's frameworkd provides IPC protocols for hardware-related telephony matters.

What are those phonekit protocols ?

We propose a set of IPC protocols that phonekit elements can use to communicate about and react collectively to telephony matters.

[Example use cases where phone parts communication is needed...]

How does this relates to window manager hints and notification ?

...

Phonekit details

Phonekit core deamon

ophonekitd deamon is a user-space deamon that enables central activation/deactivation of phonekit elements.

Phonekit protocols

Phonekit Part Activation

Protocol used by phonekit parts to request ophonekitd for other phonekit parts to show up or hide.

ophonekitd has the knowledge of what part needs to be activated for what telephony concern. It selects the correct part and does the technical stuff to make it appear.

Phonekit Context/Activity? Management

Protocol used by phonekit parts to set/negociate the current user activity/context.