Remove get_default_type() and bundle default types; obsolete

This commit is contained in:
Dan Williams 2007-04-11 15:08:40 -04:00
parent eeb09294d8
commit 894fcea9fc
7 changed files with 9 additions and 42 deletions

View File

@ -38,6 +38,8 @@ class ActivityModel:
def get_color(self): def get_color(self):
return XoColor(self._activity.get_color()) return XoColor(self._activity.get_color())
def get_service_name(self):
return self._bundle.get_service_name()
class MeshModel(gobject.GObject): class MeshModel(gobject.GObject):
__gsignals__ = { __gsignals__ = {

View File

@ -114,19 +114,18 @@ class Shell(gobject.GObject):
# we have a bundle on the system capable of handling # we have a bundle on the system capable of handling
# this activity type # this activity type
breg = self._model.get_bundle_registry() breg = self._model.get_bundle_registry()
bundle = breg.find_by_default_type(bundle_id) bundle = breg.get_bundle(bundle_id)
if not bundle: if not bundle:
logging.error("Couldn't find activity for type %s" % bundle_id) logging.error("Couldn't find activity for type %s" % bundle_id)
return return
act_type = bundle.get_service_name()
home_model = self._model.get_home() home_model = self._model.get_home()
home_model.notify_activity_launch(activity_id, act_type) home_model.notify_activity_launch(activity_id, bundle_id)
handle = ActivityHandle(activity_id) handle = ActivityHandle(activity_id)
handle.pservice_id = activity_id handle.pservice_id = activity_id
handler = activityfactory.create(act_type, handle) handler = activityfactory.create(bundle_id, handle)
handler.connect('error', self._join_error_cb, home_model) handler.connect('error', self._join_error_cb, home_model)
def _start_error_cb(self, handler, err, home_model): def _start_error_cb(self, handler, err, home_model):

View File

@ -189,7 +189,7 @@ class ActivityView(SnowflakeBox):
del self._icons[key] del self._icons[key]
def _clicked_cb(self, item): def _clicked_cb(self, item):
bundle_id = self._model.get_service().get_type() bundle_id = self._model.get_service().get_service_name()
self._shell.join_activity(bundle_id, self._model.get_id()) self._shell.join_activity(bundle_id, self._model.get_id())
class MeshBox(SpreadBox): class MeshBox(SpreadBox):

View File

@ -85,10 +85,6 @@ class Activity(Window, gtk.Container):
"""Gets the activity service name.""" """Gets the activity service name."""
return os.environ['SUGAR_BUNDLE_SERVICE_NAME'] return os.environ['SUGAR_BUNDLE_SERVICE_NAME']
def get_default_type(self):
"""Gets the type of the default activity network service"""
return os.environ['SUGAR_BUNDLE_DEFAULT_TYPE']
def get_shared(self): def get_shared(self):
"""Returns TRUE if the activity is shared on the mesh.""" """Returns TRUE if the activity is shared on the mesh."""
return self._shared return self._shared
@ -98,31 +94,16 @@ class Activity(Window, gtk.Container):
return self._activity_id return self._activity_id
def _join(self, service): def _join(self, service):
"""Join an existing instance of this activity on the network."""
self._service = service self._service = service
self._shared = True self._shared = True
self._service.join()
# Publish the default service, it's a copy of
# one of those we found on the network.
default_type = self.get_default_type()
services = activity_ps.get_services_of_type(default_type)
if len(services) > 0:
service = services[0]
addr = service.get_address()
port = service.get_port()
properties = service.get_published_values()
self._service = self._pservice.share_activity(
self, default_type, properties, addr, port)
else:
logging.error('Cannot join the activity')
self.present() self.present()
def share(self): def share(self):
"""Share the activity on the network.""" """Share the activity on the network."""
logging.debug('Share activity %s on the network.' % self.get_id()) logging.debug('Share activity %s on the network.' % self.get_id())
self._service = self._pservice.share_activity(self)
default_type = self.get_default_type()
self._service = self._pservice.share_activity(self, default_type)
self._shared = True self._shared = True
def execute(self, command, args): def execute(self, command, args):

View File

@ -150,7 +150,6 @@ def run(bundle_path):
os.environ['SUGAR_BUNDLE_PATH'] = bundle_path os.environ['SUGAR_BUNDLE_PATH'] = bundle_path
os.environ['SUGAR_BUNDLE_SERVICE_NAME'] = bundle.get_service_name() os.environ['SUGAR_BUNDLE_SERVICE_NAME'] = bundle.get_service_name()
os.environ['SUGAR_BUNDLE_DEFAULT_TYPE'] = bundle.get_default_type()
factory = ActivityFactoryService(bundle.get_service_name(), factory = ActivityFactoryService(bundle.get_service_name(),
bundle.get_class()) bundle.get_class())

View File

@ -146,13 +146,6 @@ class Bundle:
"""Get the path to the service object""" """Get the path to the service object"""
return '/' + self._service_name.replace('.', '/') return '/' + self._service_name.replace('.', '/')
def get_default_type(self):
"""Get the type of the main network service which tracks presence
and provides info about the activity, for example the title."""
splitted = self.get_service_name().split('.')
splitted.reverse()
return '_' + '_'.join(splitted) + '._udp'
def get_icon(self): def get_icon(self):
"""Get the activity icon name""" """Get the activity icon name"""
return self._icon return self._icon

View File

@ -93,13 +93,6 @@ class BundleRegistry(gobject.GObject):
else: else:
return None return None
def find_by_default_type(self, default_type):
"""Find a bundle by the network service default type"""
for bundle in self._bundles.values():
if bundle.get_default_type() == default_type:
return bundle
return None
def add_search_path(self, path): def add_search_path(self, path):
"""Add a directory to the bundles search path""" """Add a directory to the bundles search path"""
self._search_path.append(path) self._search_path.append(path)