diff options
Diffstat (limited to 'shell/ActivityHost.py')
-rw-r--r-- | shell/ActivityHost.py | 38 |
1 files changed, 16 insertions, 22 deletions
diff --git a/shell/ActivityHost.py b/shell/ActivityHost.py index fa99df2..cfc36d3 100644 --- a/shell/ActivityHost.py +++ b/shell/ActivityHost.py @@ -2,6 +2,10 @@ import dbus import gtk import gobject +from sugar.chat.ActivityChat import ActivityChat +from WindowManager import WindowManager +import sugar.util + class ActivityHostSignalHelper(gobject.GObject): __gsignals__ = { 'shared': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])) @@ -15,22 +19,22 @@ class ActivityHostSignalHelper(gobject.GObject): self.emit('shared') class ActivityHost(dbus.service.Object): - def __init__(self, default_type, activity_id = None): + def __init__(self, bus_name, default_type, activity_id = None): if activity_id is None: - self.activity_id = sugar.util.unique_id() + self._activity_id = sugar.util.unique_id() else: - self.activity_id = activity_id + self._activity_id = activity_id self._default_type = default_type - self.dbus_object_name = "/com/redhat/Sugar/Shell/Activities/%s" % self.activity_id - dbus.service.Object.__init__(self, activity_container.service, self.dbus_object_name) + self.dbus_object_name = "/com/redhat/Sugar/Shell/Activities/%s" % self._activity_id + dbus.service.Object.__init__(self, bus_name, self.dbus_object_name) self._signal_helper = ActivityHostSignalHelper(self) self.peer_service = None self._shared = False - self._window = gtk.Window() + self._create_chat() - + def _create_chat(self): self._activity_chat = ActivityChat(self) @@ -54,15 +58,10 @@ class ActivityHost(dbus.service.Object): def connect(self, signal, func): self._signal_helper.connect(signal, func) - def get_host_activity_id(self): - """Real function that the shell should use for getting the - activity's ID.""" - return self.activity_id - def get_id(self): """Interface-type function to match activity.Activity's get_id() function.""" - return self.activity_id + return self._activity_id def default_type(self): """Interface-type function to match activity.Activity's @@ -81,26 +80,21 @@ class ActivityHost(dbus.service.Object): self._shared = True self._signal_helper.emit_shared() - @dbus.service.method("com.redhat.Sugar.Shell.ActivityHost", \ - in_signature="ss", \ - out_signature="") + @dbus.service.method("com.redhat.Sugar.Shell.ActivityHost") def set_peer_service_name(self, peer_service_name, peer_object_name): self.__peer_service_name = peer_service_name self.__peer_object_name = peer_object_name - self.peer_service = dbus.Interface(self.activity_container.bus.get_object( \ + session_bus = dbus.SessionBus() + self.peer_service = dbus.Interface(session_bus.get_object( \ self.__peer_service_name, self.__peer_object_name), \ "com.redhat.Sugar.Activity") - self.activity_container.bus.add_signal_receiver(self._shared_signal, + session_bus.add_signal_receiver(self._shared_signal, signal_name="ActivityShared", dbus_interface="com.redhat.Sugar.Activity", named_service=self.__peer_service_name, path=self.__peer_object_name) @dbus.service.method("com.redhat.Sugar.Shell.ActivityHost") - def set_can_close(self, can_close): - pass - - @dbus.service.method("com.redhat.Sugar.Shell.ActivityHost") def set_has_changes(self, has_changes): pass |