Add bits to support current activity and add/remove buddy to activity
This commit is contained in:
parent
511c666a4a
commit
f18df46c62
@ -161,6 +161,10 @@ class TestBuddy(dbus.service.Object):
|
||||
def get_activities(self):
|
||||
return self._activities.values()
|
||||
|
||||
def set_current_activity(self, actid):
|
||||
self._curact = actid
|
||||
self.PropertyChanged({_PROP_CURACT: actid})
|
||||
|
||||
@dbus.service.signal(_BUDDY_INTERFACE, signature="ay")
|
||||
def IconChanged(self, icon_data):
|
||||
pass
|
||||
@ -185,8 +189,8 @@ class TestBuddy(dbus.service.Object):
|
||||
@dbus.service.method(_BUDDY_INTERFACE, in_signature="", out_signature="ao")
|
||||
def GetJoinedActivities(self):
|
||||
acts = []
|
||||
for key in self._activities.keys():
|
||||
acts.append(dbus.ObjectPath(key))
|
||||
for activity in self._activities.values():
|
||||
acts.append(dbus.ObjectPath(activity._object_path))
|
||||
return acts
|
||||
|
||||
@dbus.service.method(_BUDDY_INTERFACE, in_signature="", out_signature="a{sv}")
|
||||
@ -356,7 +360,7 @@ class TestPresenceService(dbus.service.Object):
|
||||
self.BuddyDisappeared(buddy._object_path)
|
||||
del self._buddies[pubkey]
|
||||
|
||||
@dbus.service.method(_PRESENCE_TEST_INTERFACE, in_signature="oo")
|
||||
@dbus.service.method(_PRESENCE_TEST_INTERFACE, in_signature="ays")
|
||||
def AddBuddyToActivity(self, pubkey, actid):
|
||||
pubkey = ''.join([chr(item) for item in pubkey])
|
||||
if not self._buddies.has_key(pubkey):
|
||||
@ -369,7 +373,7 @@ class TestPresenceService(dbus.service.Object):
|
||||
activity.add_buddy(buddy)
|
||||
buddy.add_activity(activity)
|
||||
|
||||
@dbus.service.method(_PRESENCE_TEST_INTERFACE, in_signature="oo")
|
||||
@dbus.service.method(_PRESENCE_TEST_INTERFACE, in_signature="ays")
|
||||
def RemoveBuddyFromActivity(self, pubkey, actid):
|
||||
pubkey = ''.join([chr(item) for item in pubkey])
|
||||
if not self._buddies.has_key(pubkey):
|
||||
@ -398,6 +402,14 @@ class TestPresenceService(dbus.service.Object):
|
||||
self.ActivityDisappeared(act._object_path)
|
||||
del self._activities[actid]
|
||||
|
||||
@dbus.service.method(_PRESENCE_TEST_INTERFACE, in_signature="ays")
|
||||
def SetBuddyCurrentActivity(self, pubkey, actid):
|
||||
pubkey = ''.join([chr(item) for item in pubkey])
|
||||
if not self._buddies.has_key(pubkey):
|
||||
raise NotFoundError("Buddy unknown")
|
||||
buddy = self._buddies[pubkey]
|
||||
buddy.set_current_activity(actid)
|
||||
|
||||
def main():
|
||||
import logging
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
|
Loading…
Reference in New Issue
Block a user