Difference between revisions of "Development Team/Presence Service Removal"

From Sugar Labs
Jump to navigation Jump to search
Line 11: Line 11:
  
 
Is fired when the properties contained in org.laptop.Telepathy.ActivityProperties stop being all non-None, and when the last buddy leaves the activity.
 
Is fired when the properties contained in org.laptop.Telepathy.ActivityProperties stop being all non-None, and when the last buddy leaves the activity.
 +
 +
A buddy is known to have left an activity when disappears (see BuddyDisappeared) and when the MembersChanged signal in org.freedesktop.Telepathy.Channel.Interface.Group says so.
  
 
  @dbus.service.signal(PRESENCE_INTERFACE, signature="o")
 
  @dbus.service.signal(PRESENCE_INTERFACE, signature="o")
Line 18: Line 20:
 
  @dbus.service.signal(PRESENCE_INTERFACE, signature="o")
 
  @dbus.service.signal(PRESENCE_INTERFACE, signature="o")
 
  def BuddyDisappeared(self, buddy):
 
  def BuddyDisappeared(self, buddy):
    pass
+
 
 +
A buddy is known to have disappeared when PresenceUpdate notifies us it has gone offline.
  
 
  @dbus.service.signal(PRESENCE_INTERFACE, signature="oos")
 
  @dbus.service.signal(PRESENCE_INTERFACE, signature="oos")

Revision as of 13:10, 5 March 2010

Some notes follow about how we can replace the implementation of the signals and methods in the Presence Service by another that uses more fully the telepathy framework and is stateless.

@dbus.service.signal(PRESENCE_INTERFACE, signature="o")
def ActivityAppeared(self, activity):
    pass

Is fired when the properties contained in org.laptop.Telepathy.ActivityProperties become all non-None

@dbus.service.signal(PRESENCE_INTERFACE, signature="o")
def ActivityDisappeared(self, activity):

Is fired when the properties contained in org.laptop.Telepathy.ActivityProperties stop being all non-None, and when the last buddy leaves the activity.

A buddy is known to have left an activity when disappears (see BuddyDisappeared) and when the MembersChanged signal in org.freedesktop.Telepathy.Channel.Interface.Group says so.

@dbus.service.signal(PRESENCE_INTERFACE, signature="o")
def BuddyAppeared(self, buddy):
    pass
@dbus.service.signal(PRESENCE_INTERFACE, signature="o")
def BuddyDisappeared(self, buddy):

A buddy is known to have disappeared when PresenceUpdate notifies us it has gone offline.

@dbus.service.signal(PRESENCE_INTERFACE, signature="oos")
def ActivityInvitation(self, activity, buddy, message):
    pass
@dbus.service.signal(PRESENCE_INTERFACE, signature="soos")
def PrivateInvitation(self, bus_name, connection, channel, chan_type):
    pass
@dbus.service.method(PRESENCE_INTERFACE, in_signature="",
                        out_signature="ao")
def GetActivities(self):
    pass
@dbus.service.method(PRESENCE_INTERFACE, in_signature="s",
                        out_signature="o")
def GetActivityById(self, actid):
    pass
@dbus.service.method(PRESENCE_INTERFACE, in_signature="",
                        out_signature="ao")
def GetBuddies(self):
    pass
@dbus.service.method(PRESENCE_INTERFACE, in_signature="ay", out_signature="o",
                        byte_arrays=True)
def GetBuddyByPublicKey(self, key):
    pass
@dbus.service.method(PRESENCE_INTERFACE, in_signature="sou",
                        out_signature="o")
def GetBuddyByTelepathyHandle(self, tp_conn_name, tp_conn_path, handle):
    pass
@dbus.service.method(PRESENCE_INTERFACE, in_signature="", out_signature="o")
def GetOwner(self):
    pass
@dbus.service.method(PRESENCE_INTERFACE, in_signature="", out_signature="so")
def GetPreferredConnection(self):
    pass
@dbus.service.method(PRESENCE_INTERFACE, in_signature="sssa{sv}",
        out_signature="o", async_callbacks=("async_cb", "async_err_cb"),
        sender_keyword="sender")
def ShareActivity(self, actid, atype, name, properties, async_cb,
                    async_err_cb, sender):
    pass
@dbus.service.method(PRESENCE_INTERFACE, in_signature="as", out_signature="")
def SyncFriends(self, keys):
    pass
@dbus.service.method(PRESENCE_INTERFACE, in_signature="", out_signature="")
def RestartServerConnection(self):
    pass