Make shareActivity work
This commit is contained in:
@@ -192,11 +192,6 @@ class Activity(gtk.Window):
|
||||
def get_default_type(self):
|
||||
return self._default_type
|
||||
|
||||
def set_shared(self):
|
||||
"""Mark the activity as 'shared'."""
|
||||
if not self._shared:
|
||||
self._shared = True
|
||||
|
||||
def get_shared(self):
|
||||
return self._shared
|
||||
|
||||
@@ -205,7 +200,9 @@ class Activity(gtk.Window):
|
||||
return self._has_focus
|
||||
|
||||
def _internal_on_share_cb(self):
|
||||
"""Callback when the dbus service object tells us the user has shared our activity."""
|
||||
"""Callback when the dbus service object tells us the user wishes to share our activity."""
|
||||
if not self._shared:
|
||||
self._shared = True
|
||||
self.share()
|
||||
|
||||
def get_id(self):
|
||||
|
||||
@@ -18,9 +18,9 @@ class ActivityChat(GroupChat):
|
||||
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, None, service)
|
||||
self._service_appeared_cb(self._pservice, service)
|
||||
|
||||
def _service_appeared_cb(self, pservice, buddy, service):
|
||||
def _service_appeared_cb(self, pservice, service):
|
||||
if service.get_activity_id() != self._activity.get_id():
|
||||
return
|
||||
if service.get_type() != ActivityChat.SERVICE_TYPE:
|
||||
|
||||
@@ -44,16 +44,7 @@ class LocalModel(AbstractModel):
|
||||
|
||||
# FIXME this is duplicated with StreamReader
|
||||
def _setup_server(self, service):
|
||||
started = False
|
||||
tries = 10
|
||||
port = service.get_port()
|
||||
while not started and tries > 0:
|
||||
try:
|
||||
logging.debug('Start model server on port %d' % (port))
|
||||
p2p_server = network.GlibXMLRPCServer(("", port))
|
||||
p2p_server.register_instance(ModelRequestHandler(self))
|
||||
started = True
|
||||
except(socket.error):
|
||||
port = port + 1
|
||||
tries = tries - 1
|
||||
service.set_port(port)
|
||||
logging.debug('Start model server on port %d' % (port))
|
||||
p2p_server = network.GlibXMLRPCServer(("", port))
|
||||
p2p_server.register_instance(ModelRequestHandler(self))
|
||||
|
||||
@@ -66,13 +66,6 @@ class Activity(gobject.GObject):
|
||||
def get_icon(self):
|
||||
return self._buddy.getIcon()
|
||||
|
||||
def get_service_of_type(self, stype):
|
||||
try:
|
||||
object_path = self._buddy.getServiceOfType(stype)
|
||||
except dbus.exceptions.DBusException:
|
||||
return None
|
||||
return self._ps_new_object(object_path)
|
||||
|
||||
def get_services(self):
|
||||
resp = self._activity.getServices()
|
||||
servs = []
|
||||
|
||||
@@ -181,7 +181,16 @@ class PresenceService(gobject.GObject):
|
||||
return None
|
||||
return self._new_object(owner_op)
|
||||
|
||||
def register_service(self, name, stype, properties={"":""}, address="", port=-1, domain=u"local"):
|
||||
def share_activity(self, activity, stype, properties={}, address=None, port=-1, domain=u"local"):
|
||||
actid = activity.get_id()
|
||||
if address == None:
|
||||
address = u""
|
||||
serv_op = self._ps.shareActivity(actid, stype, properties, address, port, domain)
|
||||
return self._new_object(serv_op)
|
||||
|
||||
def register_service(self, name, stype, properties={}, address=None, port=-1, domain=u"local"):
|
||||
if address == None:
|
||||
address = u""
|
||||
serv_op = self._ps.registerService(name, stype, properties, address, port, domain)
|
||||
return self._new_object(serv_op)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user