Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorDan Williams <dcbw@localhost.localdomain>2006-09-26 17:23:12 (GMT)
committer Dan Williams <dcbw@localhost.localdomain>2006-09-26 17:23:12 (GMT)
commit31c69ed1679ee1f31766bf2b6ee6ab9ca28205fd (patch)
tree17737fd6e89304d73ed4bd5abf49da63c767334c /services
parentfa31b7c0bdb701886419c84b292803b19a077322 (diff)
Hook up Buddy.add_activity() and Buddy.remove_activity()
Diffstat (limited to 'services')
-rw-r--r--services/presence/PresenceService.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/services/presence/PresenceService.py b/services/presence/PresenceService.py
index 77c67ee..b43506e 100644
--- a/services/presence/PresenceService.py
+++ b/services/presence/PresenceService.py
@@ -451,6 +451,16 @@ class PresenceService(object):
if activity:
activity.add_service(service)
+ # Add the activity to its buddy
+ # FIXME: use something other than name to attribute to buddy
+ name = service.get_name()
+ buddy = None
+ try:
+ buddy = self._buddies[name]
+ buddy.add_activity(activity)
+ except KeyError:
+ pass
+
if not was_valid and activity.is_valid():
self._dbus_helper.ActivityAppeared(activity.object_path())
@@ -460,7 +470,19 @@ class PresenceService(object):
return
if not self._activities.has_key(actid):
return
+
activity = self._activities[actid]
+
+ # Remove the activity from its buddy
+ # FIXME: use something other than name to attribute to buddy
+ name = service.get_name()
+ buddy = None
+ try:
+ buddy = self._buddies[name]
+ buddy.remove_activity(activity)
+ except KeyError:
+ pass
+
activity.remove_service(service)
if len(activity.get_services()) == 0:
# Kill the activity