[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