Development Team/Presence Service Removal

From Sugar Labs

Jump to: navigation, search

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.

See here for some related information:

Interface org.laptop.Sugar.Presence

@dbus.service.signal(PRESENCE_INTERFACE, signature="o")
def ActivityAppeared(self, activity):
    pass
@dbus.service.signal(PRESENCE_INTERFACE, signature="o")
def ActivityDisappeared(self, activity):
    pass
@dbus.service.signal(PRESENCE_INTERFACE, signature="o")
def BuddyAppeared(self, buddy):
    pass
@dbus.service.signal(PRESENCE_INTERFACE, signature="o")
def BuddyDisappeared(self, buddy):
@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

Interface org.laptop.Sugar.Presence.Buddy

@dbus.service.signal(_BUDDY_INTERFACE, signature="ay")
def IconChanged(self, icon_data):
    pass
@dbus.service.signal(_BUDDY_INTERFACE, signature="o")
def JoinedActivity(self, activity_path):
    pass
@dbus.service.signal(_BUDDY_INTERFACE, signature="o")
def LeftActivity(self, activity_path):
    pass
@dbus.service.signal(_BUDDY_INTERFACE, signature="a{sv}")
def PropertyChanged(self, updated):
    pass
@dbus.service.signal(_BUDDY_INTERFACE, signature='sou')
def TelepathyHandleAdded(self, tp_conn_name, tp_conn_path, handle):
    pass
@dbus.service.method(_BUDDY_INTERFACE, in_signature="", out_signature="ay")
def GetIcon(self):
    pass
@dbus.service.method(_BUDDY_INTERFACE, in_signature="", out_signature="ao")
def GetJoinedActivities(self):
    pass
@dbus.service.method(_BUDDY_INTERFACE, in_signature="", out_signature="a{sv}")
def GetProperties(self):
    pass
@dbus.service.method(_BUDDY_INTERFACE, in_signature=, out_signature='a(sou)')
def GetTelepathyHandles(self):
    pass

Interface org.laptop.Sugar.Presence.Activity

@dbus.service.signal(_ACTIVITY_INTERFACE, signature="o")
def BuddyJoined(self, buddy_path):
    pass
@dbus.service.signal(_ACTIVITY_INTERFACE, signature="ou")
def BuddyHandleJoined(self, buddy_path, handle):
    pass
@dbus.service.signal(_ACTIVITY_INTERFACE, signature="o")
def BuddyLeft(self, buddy_path):
    pass
@dbus.service.signal(_ACTIVITY_INTERFACE, signature="a{sv}")
def PropertiesChanged(self, properties):
    pass
@dbus.service.signal(_ACTIVITY_INTERFACE, signature="o")
def NewChannel(self, channel_path):
    pass
@dbus.service.method(_ACTIVITY_INTERFACE, in_signature="", out_signature="a{sv}")
def GetProperties(self):
    pass
@dbus.service.method(_ACTIVITY_INTERFACE, in_signature="", out_signature="s")
def GetId(self):
    pass
@dbus.service.method(_ACTIVITY_INTERFACE, in_signature="", out_signature="s")
def GetColor(self):
    pass
@dbus.service.method(_ACTIVITY_INTERFACE, in_signature="", out_signature="s")
def GetType(self):
    pass
@dbus.service.method(_ACTIVITY_INTERFACE,
                     in_signature='os', out_signature=,
                     async_callbacks=('async_cb', 'async_err_cb'))
def Invite(self, buddy_path, message, async_cb, async_err_cb):
    pass
@dbus.service.method(_ACTIVITY_INTERFACE,
                     in_signature="", out_signature="",
                     async_callbacks=('async_cb', 'async_err_cb'),
                     sender_keyword='sender')
def Join(self, async_cb, async_err_cb, sender):
    pass
@dbus.service.method(_ACTIVITY_INTERFACE,
                     in_signature="", out_signature="",
                     async_callbacks=('async_cb', 'async_err_cb'))
def Leave(self, async_cb, async_err_cb):
    pass
@dbus.service.method(_ACTIVITY_INTERFACE, in_signature="", out_signature="ao")
def GetJoinedBuddies(self):
    pass
@dbus.service.method(_ACTIVITY_INTERFACE, in_signature="", out_signature="soao")
def GetChannels(self):
    pass
@dbus.service.method(_ACTIVITY_INTERFACE, in_signature="", out_signature="soa(osuu)")
def ListChannels(self):
    pass
@dbus.service.method(_ACTIVITY_INTERFACE, in_signature='a{sv}', out_signature=)
def SetProperties(self, new_props):
    pass
@dbus.service.method(_ACTIVITY_INTERFACE, in_signature="", out_signature="s")
def GetName(self):
    pass
Personal tools
Namespaces
Variants
Actions
Sugar
Projects
Teams
Local Labs
Using the Wiki
Google translations