Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar
diff options
context:
space:
mode:
authorMike C. Fletcher <mcfletch@raistlin.(none)>2007-04-14 05:17:59 (GMT)
committer Mike C. Fletcher <mcfletch@raistlin.(none)>2007-04-14 05:17:59 (GMT)
commit2ca12e9da25451d35d0bba48f3fb03c32b00de22 (patch)
tree0590d02dede51de20cb01df9609c8460d3ae8347 /sugar
parent879ef9b0e04ee9ac2f615dc91e05c5a64d5da0b2 (diff)
Overall roles and operation of the activity classes.
Note on return value for factory service.
Diffstat (limited to 'sugar')
-rw-r--r--sugar/activity/__init__.py47
-rw-r--r--sugar/activity/activityfactoryservice.py2
2 files changed, 49 insertions, 0 deletions
diff --git a/sugar/activity/__init__.py b/sugar/activity/__init__.py
index e69de29..524cdfc 100644
--- a/sugar/activity/__init__.py
+++ b/sugar/activity/__init__.py
@@ -0,0 +1,47 @@
+"""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. The
+ActivityFactory service is registered with dbus using the
+global
+
+ sugar.activity.bundleregistry.BundleRegistry
+
+service, which creates dbus .service files in a well known
+directory. Those files tell dbus what executable to run
+in order to load the ActivityFactory which will provide
+the creation service.
+
+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.
+"""
diff --git a/sugar/activity/activityfactoryservice.py b/sugar/activity/activityfactoryservice.py
index cf51f9c..5dcedb3 100644
--- a/sugar/activity/activityfactoryservice.py
+++ b/sugar/activity/activityfactoryservice.py
@@ -99,6 +99,8 @@ class ActivityFactoryService(dbus.service.Object):
handle -- sugar.activity.activityhandle.ActivityHandle
compatible dictionary providing the instance-specific
values for the new instance
+
+ returns xid for the created instance' root window
"""
activity_handle = activityhandle.create_from_dict(handle)
activity = self._constructor(activity_handle)