D-BUS

From OLPC
Revision as of 04:14, 7 July 2010 by 118.70.128.140 (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

D-BUS is a message bus system, rather like AppleScript and DCOM, that allows applications to send messages to one another. Sugar uses D-BUS extensively, and requires that all apps interact with it via D-BUS.

The GCompris activity is a native (C language) app which uses glib to implement D-BUS ability. See dbus.c for the code.

D-BUS Services on the OLPC-XO

The python code for the following services is in share/<service> , while much of the code that uses them is in site-packages/sugar or in share/activities .

  • NetworkManager -- Standard Linux desktop component that provides a D-BUS API for controlling network connectivity
  • Activity DBus API -- Describes the API an activity must implement on D-BUS in order to interact with the Sugar desktop
    • Activity Service (Python implementation of the Activity DBus API)
    • Activity Factory Service (Python implementation of the Activity-launching Factory DBus API)
  • Presence Service DBus API -- friend discovery and collaboration primitives, including a description of the Telepathy API
    • Telepathy Connection Manager
    • Telepathy StreamEngine
  • Data Store Service (Journal) -- the core data-storage operation of the laptop
  • Clipboard Service -- manages cross-activity sharing of data and files
  • Hardware Manager Service -- provides access to the OLPC-specific hardware on the laptop
  • Activity Registry Service -- registry of installed activity bundles on the laptop
  • Object Type Registry Service -- MIME-type registry service
  • Sugar Console Service

D-BUS services can also be used from Squeak EToys: http://etoys-squeak-and-sugar.blogspot.com/2010/01/dbus-and-etoys-dbus-interface.html

Look at the code on the D-BUS SqueakSource repository: http://squeaksource.com/dbus.html

References

D-BUS website.