Sugar Architecture/API: Difference between revisions

From OLPC
Jump to navigation Jump to search
Line 50: Line 50:
*[[Evince]]
*[[Evince]]
*[[Sugar_Code_Snippets|Hippo]]
*[[Sugar_Code_Snippets|Hippo]]

*[[Matchbox]]
*[[Matchbox]]
*[[Xul]]
*[[Pango]]
*[[ATK]]
*[[gstreamer]]


== Sugar Packs ==
== Sugar Packs ==

Revision as of 01:08, 10 March 2007

Table of Contents
API Introduction
Third Party Packages GTK AbiWord Avahi Cairo D-Bus evince Hippo
Sugar Packs Library Packages Shell Packages Services Package Activity APIs

Sugar is built in python with a variety of open source packages. Programing in the sugar environment requires a basic understanding of both the Sugar User Interface, supporting third party packages, and built in sugar packages.

Traditional software packages are built against Application Program Intefaces. Sugar runs Activities instead of applications, but from a developers point of view, it's the same thing.

Third Party Packages

Sugar Packs

Sugar Library Packages

Many Sugar Library packages reside in /usr/lib/python*/site-packages/sugar

Modules:

  • TracebackUtils
  • emulator
  • env
  • logger
  • profile
  • simulator
  • util

Subpackages:

  • sugar.activity
  • sugar.chat
  • sugar.clipboard
  • sugar.datastore
  • sugar.graphics
  • sugar.p2p
  • sugar.presence

Package sugar.shell

Most of the Human Interface is implemented in the sugar shell packages located in /usr/share/sugar/shell

Modules:

  • sugar.shell.HardwareManager

Subpackages:

Package sugar.services

Various services are provided in /usr/share/sugar/services

Modules: none

Subpackages:

  • sugar.services.clipboard
  • sugar.services.console
  • sugar.services.datastore
  • sugar.services.nm
  • sugar.services.presence

Sugar Activity APIs