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):
|
def get_activities(self):
|
||||||
return self._activities.values()
|
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")
|
@dbus.service.signal(_BUDDY_INTERFACE, signature="ay")
|
||||||
def IconChanged(self, icon_data):
|
def IconChanged(self, icon_data):
|
||||||
pass
|
pass
|
||||||
@ -185,8 +189,8 @@ class TestBuddy(dbus.service.Object):
|
|||||||
@dbus.service.method(_BUDDY_INTERFACE, in_signature="", out_signature="ao")
|
@dbus.service.method(_BUDDY_INTERFACE, in_signature="", out_signature="ao")
|
||||||
def GetJoinedActivities(self):
|
def GetJoinedActivities(self):
|
||||||
acts = []
|
acts = []
|
||||||
for key in self._activities.keys():
|
for activity in self._activities.values():
|
||||||
acts.append(dbus.ObjectPath(key))
|
acts.append(dbus.ObjectPath(activity._object_path))
|
||||||
return acts
|
return acts
|
||||||
|
|
||||||
@dbus.service.method(_BUDDY_INTERFACE, in_signature="", out_signature="a{sv}")
|
@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)
|
self.BuddyDisappeared(buddy._object_path)
|
||||||
del self._buddies[pubkey]
|
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):
|
def AddBuddyToActivity(self, pubkey, actid):
|
||||||
pubkey = ''.join([chr(item) for item in pubkey])
|
pubkey = ''.join([chr(item) for item in pubkey])
|
||||||
if not self._buddies.has_key(pubkey):
|
if not self._buddies.has_key(pubkey):
|
||||||
@ -369,7 +373,7 @@ class TestPresenceService(dbus.service.Object):
|
|||||||
activity.add_buddy(buddy)
|
activity.add_buddy(buddy)
|
||||||
buddy.add_activity(activity)
|
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):
|
def RemoveBuddyFromActivity(self, pubkey, actid):
|
||||||
pubkey = ''.join([chr(item) for item in pubkey])
|
pubkey = ''.join([chr(item) for item in pubkey])
|
||||||
if not self._buddies.has_key(pubkey):
|
if not self._buddies.has_key(pubkey):
|
||||||
@ -398,6 +402,14 @@ class TestPresenceService(dbus.service.Object):
|
|||||||
self.ActivityDisappeared(act._object_path)
|
self.ActivityDisappeared(act._object_path)
|
||||||
del self._activities[actid]
|
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():
|
def main():
|
||||||
import logging
|
import logging
|
||||||
logging.basicConfig(level=logging.DEBUG)
|
logging.basicConfig(level=logging.DEBUG)
|
||||||
|
Loading…
Reference in New Issue
Block a user