Editing Documentation/Maemo 5 Developer Guide/Architecture/RTCOM

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 7: Line 7:
The diagram below shows the entities of the RTCOM subsystem, dependencies between them, provided interfaces and required external interfaces. The client applications are shown as packages without the fill-color. Different UI components (Messaging, Call, Log Viewer, Desktop Elements, Control Panel Applets) provide user interface layer to the system.
The diagram below shows the entities of the RTCOM subsystem, dependencies between them, provided interfaces and required external interfaces. The client applications are shown as packages without the fill-color. Different UI components (Messaging, Call, Log Viewer, Desktop Elements, Control Panel Applets) provide user interface layer to the system.
-
On intermediate layer, there’s a Mission Control package, which handle transient events and enforce system policies, providing application logic services, and libtelepathy-glib component providing <code>GObject</code>-style access to the Telepathy D-Bus interfaces.
+
On intermediate layer, there’s a Mission Control package, which handle transient events and enforce system policies, providing application logic services, and libtelepathy-glib component providing GObject-style access to the Telepathy D-Bus interfaces.
On lowest level, there are Streaming Engine to handle actual media streaming communications, and Connection managers that abstract implementation details of different protocols to a common API. The interface is modular and platform  includes Jabber (instant messaging) and SIP (voice and video calls).
On lowest level, there are Streaming Engine to handle actual media streaming communications, and Connection managers that abstract implementation details of different protocols to a common API. The interface is modular and platform  includes Jabber (instant messaging) and SIP (voice and video calls).
-
The Telepathy framework is used to handle real time communication related signaling and abstracting all protocol dependencies to a single D-Bus interface.
+
The Telepathy framework is used to handle real time communication related signaling and abstracting all protocol dependencies to a single D-BUS interface.
Centralized addressbook is provided by the [[Documentation/Maemo 5 Developer Guide/Architecture/Data Management#Contacts (Addressbook)|Contacts subsystem]] and used by the RTcom subsystem for all contact information storage and lookup purposes and it also stores transient contacts/states.
Centralized addressbook is provided by the [[Documentation/Maemo 5 Developer Guide/Architecture/Data Management#Contacts (Addressbook)|Contacts subsystem]] and used by the RTcom subsystem for all contact information storage and lookup purposes and it also stores transient contacts/states.
Line 36: Line 36:
: libglib, libdbus, libdbus-glib
: libglib, libdbus, libdbus-glib
;Interfaces provided
;Interfaces provided
-
: [http://maemo.org/packages/view/libtelepathy-glib-dev/ libtelepathy-glib], [http://maemo.org/packages/view/librtcom-telepathy-glib-dev/ librtcom-telepathy-glib]
+
: libtelepathy-glib, librtcom-telepathy-glib
===telepathy-mission-control===
===telepathy-mission-control===
Line 49: Line 49:
: libglib, libdbus, libdbus-glib
: libglib, libdbus, libdbus-glib
;Interfaces provided
;Interfaces provided
-
: [http://maemo.org/packages/view/libtelepathy-glib-dev/ libtelepathy-glib], [http://maemo.org/packages/view/librtcom-telepathy-glib-dev/ librtcom-telepathy-glib]
+
: libtelepathy-glib, librtcom-telepathy-glib
===osso-mission-control===
===osso-mission-control===
Line 75: Line 75:
: libgtk2, libhildon1 (libhildon1, libhildonfm2, hildon-control-panel, libhildonmime, libhildonhelp), libosso-abook, libglade2, libconic, libmcclient
: libgtk2, libhildon1 (libhildon1, libhildonfm2, hildon-control-panel, libhildonmime, libhildonhelp), libosso-abook, libglade2, libconic, libmcclient
;Interfaces provided
;Interfaces provided
-
: [http://maemo.org/packages/view/libaccounts-dev/ libaccounts], [http://maemo.org/packages/view/libaccounts-glade/ libaccounts-glade]
+
: libaccounts, libaccounts-glade, libosso-rtcom-accounts
===rtcom-eventlogger===
===rtcom-eventlogger===
Line 88: Line 88:
: libglib, libsqlite3, libdbus
: libglib, libsqlite3, libdbus
;Interfaces provided
;Interfaces provided
-
: [http://maemo.org/packages/view/librtcom-eventlogger-dev/ librtcom-eventlogger]
+
: librtcom-eventlogger
===rtcom-eventlogger-plugins===
===rtcom-eventlogger-plugins===
Line 137: Line 137:
: libglib, libssl
: libglib, libssl
;Interfaces provided
;Interfaces provided
-
: [http://maemo.org/packages/view/libsofia-sip-ua-dev/ libsofia-sip-ua], [http://maemo.org/packages/view/libsofia-sip-ua-glib-dev/ libsofia-sip-ua-glib]
+
: libsofia-sip-ua, libsofia-sip-ua-glib
===telepathy-sofiasip===
===telepathy-sofiasip===
Line 163: Line 163:
: libglib, libssl, libcertman (libcst)
: libglib, libssl, libcertman (libcst)
;Interfaces provided
;Interfaces provided
-
: [http://maemo.org/packages/view/libloudmouth1-dev/ libloudmouth]
+
: libloudmouth
===telepathy-gabble===
===telepathy-gabble===
Line 176: Line 176:
: libglib, libssl
: libglib, libssl
;Interfaces provided
;Interfaces provided
-
: [http://maemo.org/packages/view/libglib2.0-dev/ libglib], [http://maemo.org/packages/view/libdbus-1-dev/ libdbus], [http://maemo.org/packages/view/libdbus-glib-1-dev/ libdbus-glib], [http://maemo.org/packages/view/libloudmouth1-dev/ libloudmouth], [http://maemo.org/packages/view/libtelepathy-glib-dev/ libtelepathy-glib]
+
: libglib, libdbus, libdbus-glib, libloudmouth, libtelepathy-glib
==Streaming Engines==
==Streaming Engines==
Line 215: Line 215:
: libglib, gstreamer (libgstreamer-plugins-base, libgstreamer-plugins-good, libgstreamer-plugins-bad), libnice, libnice-gstreamer, gupnp
: libglib, gstreamer (libgstreamer-plugins-base, libgstreamer-plugins-good, libgstreamer-plugins-bad), libnice, libnice-gstreamer, gupnp
;Interfaces provided
;Interfaces provided
-
: [http://maemo.org/packages/view/libgstfarsight0.10-dev/ libgstfarsight]
+
: libgstfarsight
===telepathy-farsight===
===telepathy-farsight===
Line 228: Line 228:
: libglib, libdbus (libdbus, libdbus-glib), libgstfarsight, libtelepathy-glib
: libglib, libdbus (libdbus, libdbus-glib), libgstfarsight, libtelepathy-glib
;Interfaces provided
;Interfaces provided
-
: [http://maemo.org/packages/view/libtelepathy-farsight-dev/ libtelepathy-farsight]
+
: libtelepathy-farsight
===libnice===
===libnice===
Line 241: Line 241:
: libglib, gstreamer (libgstreamer, libgstreamer-plugins-base)
: libglib, gstreamer (libgstreamer, libgstreamer-plugins-base)
;Interfaces provided
;Interfaces provided
-
: [http://maemo.org/packages/view/libnice-dev/ libnice], [http://maemo.org/packages/view/libnice-gstreamer0.10/ libnice-gstreamer]
+
: libnice, libnice-gstreamer
===telepathy-stream-engine===
===telepathy-stream-engine===
Line 272: Line 272:
! Interface name !! License !! Dependency !! Description
! Interface name !! License !! Dependency !! Description
|-
|-
-
| Telepathy || LGPL || glib, D-Bus || RTCom Interface
+
|Telepathy||LGPL||glib, D-Bus||RTCom Interface
|}
|}
 +
==Mission Control==
==Mission Control==
Line 322: Line 323:
: libglib, libgtk, libdbus, librtcom-eventlogger, librtcom-eventlogger-plugins, libosso, libosso-abook, libhildon1, libmcclient
: libglib, libgtk, libdbus, librtcom-eventlogger, librtcom-eventlogger-plugins, libosso, libosso-abook, libhildon1, libmcclient
;Interfaces Provided
;Interfaces Provided
-
: [http://maemo.org/packages/view/librtcom-eventlogger-ui-dev/ librtcom-eventlogger-ui]
+
: librtcom-eventlogger-ui
Logger is a database engine built into a library for logging all kinds of events. It’s particularly powerful for logging messages (optionally with attachments), calls and network events.
Logger is a database engine built into a library for logging all kinds of events. It’s particularly powerful for logging messages (optionally with attachments), calls and network events.
Line 376: Line 377:
: libglib, libxml2
: libglib, libxml2
;Interfaces Provided
;Interfaces Provided
-
: [http://maemo.org/packages/view/libsignon-glib-dev/ libsignon-glib]
+
: libsignon-glib
Line 403: Line 404:
: libglib, libxml2, libcurl (libcurl3-openssl), libssl (libcrypto)
: libglib, libxml2, libcurl (libcurl3-openssl), libssl (libcrypto)
;Interfaces Provided
;Interfaces Provided
-
: [http://maemo.org/packages/view/signond-dev/ signond] (ipc)
+
: signond (ipc)
SSO-subsystem consists of server, here called “signond” and application libraries libsignon-glib and libsignonui. Server stores credentials in optionally encrypted database. It is running under different user id than applications. Application library accesses the storage over IPC mechanism.
SSO-subsystem consists of server, here called “signond” and application libraries libsignon-glib and libsignonui. Server stores credentials in optionally encrypted database. It is running under different user id than applications. Application library accesses the storage over IPC mechanism.
Line 409: Line 410:
==Protocol Stack==
==Protocol Stack==
-
Realtime communication framework connects to services using protocol plugins. Currently, XMPP/Jabber and SIP are the officially supported protocols. There’s also support for media extension of Jabber called Jingle. As described earlier, each of the protocol plugins create abstraction of some protocol to a common D-Bus protocol.
+
Realtime communication framework connects to services using protocol plugins. Currently, XMPP/Jabber and SIP are the officially supported protocols. There’s also support for media extension of Jabber called Jingle. As described earlier, each of the protocol plugins create abstraction of some protocol to a common DBUS protocol.
GoogleTalk uses Jingle protocol to handle voice streaming.
GoogleTalk uses Jingle protocol to handle voice streaming.

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)