Activity implementation code for Sugar-based activities
Each activity within the OLPC environment must provide two dbus services. The first, patterned after the
sugar.activity.activityfactory.ActivityFactory
class is responsible for providing a “create” method which takes a small dictionary with values corresponding to a
sugar.activity.activityhandle.ActivityHandle
describing an individual instance of the activity.
Each activity so registered is described by a
sugar.activity.bundle.Bundle
instance, which parses a specially formatted activity.info file (stored in the activity directory’s ./activity subdirectory). The
sugar.activity.bundlebuilder
module provides facilities for the standard setup.py module which produces and registers bundles from activity source directories.
Once instantiated by the ActivityFactory’s create method, each activity must provide an introspection API patterned after the
sugar.activity.activityservice.ActivityService
class. This class allows for querying the ID of the root window, requesting sharing across the network, and basic “what type of application are you” queries.
Contents:
Graphics/controls for use in Sugar
Contents:
Client-code’s interface to the PresenceService
Provides a simplified API for accessing the dbus service which coordinates native network presence and sharing information. This includes both “buddies” and “shared activities”.
Contents:
Multi-consumer multi-producer dispatching mechanism
Originally based on pydispatch (BSD) http://pypi.python.org/pypi/PyDispatcher/2.0.1 See license.txt for original license.
Heavily modified for Django’s purposes.
Contents: