Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2006-07-26 10:57:54 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-07-26 10:57:54 (GMT)
commit0947581a113af6eaa3660ae37b2720c4806ab0e8 (patch)
tree5006567bbf0de11ad274a0ff44ca18b244433196 /sugar
parent57cc6a303c6c062c7af5544fc9469f80d92a808f (diff)
A bunch of fixes...
Diffstat (limited to 'sugar')
-rw-r--r--sugar/activity/Activity.py19
-rw-r--r--sugar/chat/ActivityChat.py6
2 files changed, 14 insertions, 11 deletions
diff --git a/sugar/activity/Activity.py b/sugar/activity/Activity.py
index c5f4f1a..faaa7d8 100644
--- a/sugar/activity/Activity.py
+++ b/sugar/activity/Activity.py
@@ -7,6 +7,8 @@ import dbus.glib
import gtk
import gobject
+from sugar.presence.PresenceService import PresenceService
+
# Work around for dbus mutex locking issue
gtk.gdk.threads_init()
dbus.glib.threads_init()
@@ -55,9 +57,10 @@ class ActivityFactory(dbus.service.Object):
dbus.service.Object.__init__(self, bus_name, get_path(factory))
@dbus.service.method("com.redhat.Sugar.ActivityFactory")
- def create_with_service(self, serialized_service, args):
- service = Service.deserialize(serialized_service)
- activity = self._class(service, args)
+ def create_with_service(self, service_path):
+ pservice = PresenceService()
+ service = pservice._new_object(service_path)
+ activity = self._class(service, [])
@dbus.service.method("com.redhat.Sugar.ActivityFactory")
def create(self):
@@ -74,9 +77,9 @@ def create(activity_name, service = None, args = None):
proxy_obj = bus.get_object(factory_name, factory_path)
factory = dbus.Interface(proxy_obj, "com.redhat.Sugar.ActivityFactory")
- if service and args:
- serialized_service = service.serialize(service)
- factory.create_with_service(serialized_service, args)
+ if service:
+ print service.object_path()
+ factory.create_with_service(service.object_path())
else:
factory.create()
@@ -148,8 +151,8 @@ class Activity(gtk.Window):
def __init__(self, service = None):
gtk.Window.__init__(self)
- if service and service.has_key('activity_id'):
- self._activity_id = service['activity_id']
+ if service:
+ self._activity_id = service.get_id()
self._shared = True
else:
self._activity_id = sugar.util.unique_id()
diff --git a/sugar/chat/ActivityChat.py b/sugar/chat/ActivityChat.py
index 9e74f8d..645b5e4 100644
--- a/sugar/chat/ActivityChat.py
+++ b/sugar/chat/ActivityChat.py
@@ -16,9 +16,9 @@ class ActivityChat(GroupChat):
# Find an existing activity chat to latch onto
ps_activity = self._pservice.get_activity(activity.get_id())
if ps_activity is not None:
- service = ps_activity.get_service_of_type(ActivityChat.SERVICE_TYPE)
- if service is not None:
- self._service_appeared_cb(self._pservice, service)
+ services = ps_activity.get_services_of_type(ActivityChat.SERVICE_TYPE)
+ if len(services) > 0:
+ self._service_appeared_cb(self._pservice, services[0])
def _service_appeared_cb(self, pservice, service):
if service.get_activity_id() != self._activity.get_id():