Use new PresenceService API for sharing by invitation only

This commit is contained in:
Morgan Collett
2007-08-22 15:54:12 +01:00
parent d09b8d3ea4
commit 52f2bea3ed
2 changed files with 24 additions and 10 deletions
+15 -6
View File
@@ -448,13 +448,22 @@ class Activity(Window, gtk.Container):
self._shared_activity = activity
self.emit('shared')
def share(self):
"""Request that the activity be shared on the network."""
def share(self, private=False):
"""Request that the activity be shared on the network.
private -- bool: True to share by invitation only,
False to advertise as shared to everyone.
"""
# FIXME: Make private=True to turn on the by-invitation-only scope
if self._shared_activity and self._shared_activity.props.joined:
raise RuntimeError("Activity %s already shared." % self._activity_id)
logging.debug('Requesting share of activity %s.' % self._activity_id)
self._share_id = self._pservice.connect("activity-shared", self._internal_share_cb)
self._pservice.share_activity(self)
raise RuntimeError("Activity %s already shared." %
self._activity_id)
verb = private and 'private' or 'public'
logging.debug('Requesting %s share of activity %s.' %
(verb, self._activity_id))
self._share_id = self._pservice.connect("activity-shared",
self._internal_share_cb)
self._pservice.share_activity(self, private)
def _realize_cb(self, window):
wm.set_bundle_id(window.window, self.get_service_name())