#777 HIGH Trial-2: Buddies does not group around their current activity icon

Zarro Boogs per Child bugtracker at laptop.org
Sun Jul 15 08:24:51 EDT 2007


#777: Buddies does not group around their current activity icon
---------------------+------------------------------------------------------
  Reporter:  marco   |       Owner:  tomeu  
      Type:  defect  |      Status:  new    
  Priority:  high    |   Milestone:  Trial-2
 Component:  sugar   |     Version:         
Resolution:          |    Keywords:         
  Verified:  0       |  
---------------------+------------------------------------------------------
Comment (by dcbw):

 The idea here was to have a ShellOwner D-Bus service that would emit
 signals when owner attributes like the current activity, owner color,
 owner nickname, owner avatar, etc all changed.  The PresenceService would
 listen for those signals and then update it's own buddy model accordingly.

 We don't really want to expose writable method calls on the Owner object
 in the PresenceService, because we cannot restrict them to be writable
 only by the shell.  The code at the bottom of the PS's buddy.py file
 should have a ShellOwner object which listens for signals on:

 {{{
     _SHELL_SERVICE = "org.laptop.Shell"
     _SHELL_OWNER_INTERFACE = "org.laptop.Shell.Owner"
     _SHELL_PATH = "/org/laptop/Shell"

     ...

         # Ask to get notifications on Owner object property changes in the
         # shell. If it's not currently running, no problem - we'll get the
         # signals when it does run
         for (signal, cb) in (('IconChanged', self._icon_changed_cb),
                              ('ColorChanged', self._color_changed_cb),
                              ('NickChanged', self._nick_changed_cb)):
             self._bus.add_signal_receiver(cb, signal_name=signal,
                 dbus_interface=self._SHELL_OWNER_INTERFACE,
                 bus_name=self._SHELL_SERVICE,
                 path=self._SHELL_PATH)
 }}}

 So we need to make sure the shell is still providing this service and
 pushing updates out as D-Bus signals when they happen.

-- 
Ticket URL: <http://dev.laptop.org/ticket/777#comment:5>
One Laptop Per Child <http://laptop.org/>



More information about the Bugs mailing list