Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/docs/old/containerization
diff options
context:
space:
mode:
Diffstat (limited to 'docs/old/containerization')
-rw-r--r--docs/old/containerization58
1 files changed, 58 insertions, 0 deletions
diff --git a/docs/old/containerization b/docs/old/containerization
new file mode 100644
index 0000000..8a40637
--- /dev/null
+++ b/docs/old/containerization
@@ -0,0 +1,58 @@
+
+== Problem: Containerization == #1992
+
+ Activities need to be created inside containers.
+
+Situation:
+
+ "Activities" are launched as follows:
+
+ 1. Clicking on an activity launch icon in Sugar triggers the
+ `sugar.shell.view.frame.ActivitiesBox._activity_clicked_cb' callback which
+ in turn fires off a call to `sugar.shell.view.start_activity' with the
+ corresponding service name.
+ 2. `sugar.shell.start_activity' calls
+ `sugar.activity.activityfactory.create()' which constructs a
+ `sugar.activity.activityfactory.ActivityCreationHandler', initialized with
+ an `ActivityHandle' describing the activity being started.
+ 3. The `__init__' method of ActivityCreationHandler connects to the DBus
+ session bus, uses a well-known name to locate an appropriate
+ ActivityFactory _DBus object_, and calls this _DBus object's_ `create'
+ method.
+ (The ActivityCreationHandler also installs callbacks to log the success or
+ failure of the attempt to launch the activity)
+ 4. The appropriate `ActivityServiceFactory' DBus service is automatically
+ launched by DBus from a service file if necessary. Then it's `create' method
+ is dispatched, which results in the activity itself being constructed and
+ presented.
+
+Plan:
+
+ We will modify the ActivityCreationHandler to call over DBus to Rainbow.
+
+ P1. Replace step (S3) with
+
+ 3b. The `__init__' method of ActivityCreationHandler connects to the DBus
+ session bus, locates the `org.laptop.security.Rainbow' service, and calls
+ the `create_activity' method of Rainbow's `org.laptop.security.Rainbow'
+ interface.
+
+
+Followup:
+
+ F1. Design and implement the appropriate method in Rainbow.
+
+ F2. Step (S4) is now cruft and should be cleaned.
+
+ F3. Talk to Marco about how he thinks this really ought to be done.
+
+ ---
+
+ F4. Marco agrees with our proposal so it can move ahead once we're ready to
+ integrate Rainbow into the builds.
+
+ F5. Bert Freudenberg would like us to update a wiki page and rewrite
+ sugar-native-factory.c for him.
+
+ F6. However, Michael is not comfortable depending on the glib/gobject mainloop.
+ How long until we can get a libevent-based mainloop? (or move away from DBus?)