Overall roles and operation of the activity classes.
Note on return value for factory service.
This commit is contained in:
		
							parent
							
								
									879ef9b0e0
								
							
						
					
					
						commit
						2ca12e9da2
					
				| @ -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. | ||||
| """ | ||||
| @ -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) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Mike C. Fletcher
						Mike C. Fletcher