[sugar] GComprisXO progress

Bert Freudenberg bert at freudenbergs.de
Sun Jul 15 08:32:04 EDT 2007


On Jul 15, 2007, at 13:25 , Bruno Coudoin wrote:

> Le dimanche 15 juillet 2007 à 11:50 +0200, Bert Freudenberg a écrit :
>> On Jul 15, 2007, at 3:37 , Bruno Coudoin wrote:
>>
>>> Le mardi 03 juillet 2007 à 00:34 +0200, Bert Freudenberg a écrit :
>>>
>>>> Each activity instance then can be single threaded and does not  
>>>> need
>>>> to manage multiple invocations. It still needs to create a dbus
>>>> service providing the activity instance protocol as described in
>>>>
>>>> 	http://wiki.laptop.org/go/Activity_DBus_API
>>>
>>> It mentions that an activity instance needs to support the following
>>> methods:
>>> org.laptop.Activity.set_active(active)
>>>
>>> I can't see where it's implemented in Squeak, can you please point
>>> me to the code.
>>
>> http://tinlizzie.org/updates/olpc/updates/1357dbusSugar-bf.cs
>
> I appreciate your efforts to explain me but I don't know how to read a
> change set. Isn't there a web interface somewhere to parse it.  
> Where is
> the code concerning it, I am looking at sugar-jhbuild/source/ 
> squeak, am
> I in the right place?

No, sorry. Unless you were well-versed reading Smalltalk the code  
wouldn't be of much use to you, but since you asked ... also the code  
is rather ugly because we do not have higher-level DBus bindings,  
yet. And it's not up-to-date, there is no way to read the current  
source code unless you actually install Squeak.

Anyway, the squeak/etoys implementation would be of no much use for  
you. But since you asked: It consists of a dbus plugin and dbus  
bindings (http://source.impara.de/dbus.html). The C sources are  
generated from the Squeak source (sugar-jhbuild/source/squeak/ 
platforms/unix/src/plugins/DBusPlugin/DBusPlugin.c) and pretty much  
unreadable. The bindings are in the etoys.image, the changeset I  
pointed you to was the first pass at implementing the activity  
service. It still contains the factory service implementation which  
is not used anymore because it is in sugar-native-factory now.

What happens at runtime is that sugar-native-factory runs Squeak  
which then creates the dbus service.

So you just need to provide that DBus service, see http:// 
dbus.freedesktop.org/ for documentation about that. The python  
implementation of that service is here:

http://dev.laptop.org/git?p=sugar;a=blob_plain;f=sugar/activity/ 
activityservice.py

HTH,

- Bert -




More information about the Sugar mailing list