Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar
diff options
context:
space:
mode:
Diffstat (limited to 'sugar')
-rw-r--r--sugar/activity/Activity.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/sugar/activity/Activity.py b/sugar/activity/Activity.py
index 344e106..5bca3c7 100644
--- a/sugar/activity/Activity.py
+++ b/sugar/activity/Activity.py
@@ -90,6 +90,16 @@ def create(activity_name, service = None, args = None):
else:
factory.create(args)
+def _get_registry():
+ bus = dbus.SessionBus()
+ proxy_obj = bus.get_object("com.redhat.Sugar.ActivityRegistry",
+ "/com/redhat/Sugar/ActivityRegistry")
+ registry = dbus.Interface(proxy_obj, "com.redhat.Sugar.ActivityRegistry")
+
+def list_activities():
+ registry = _get_registry()
+ return registry.list_activities()
+
def main(activity_name, activity_class):
"""Starts the activity main loop."""
log_writer = LogWriter(activity_name)
@@ -97,6 +107,9 @@ def main(activity_name, activity_class):
factory = ActivityFactory(activity_name, activity_class)
+ registry = _get_registry()
+ registry.add(activity_name, activity_name)
+
gtk.main()
class ActivityDbusService(dbus.service.Object):