From 31c69ed1679ee1f31766bf2b6ee6ab9ca28205fd Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Tue, 26 Sep 2006 17:23:12 +0000 Subject: Hook up Buddy.add_activity() and Buddy.remove_activity() --- (limited to 'services') 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 -- cgit v0.9.1