def add_client(self, client): if self.client is not None: raise ValueError('Client is already registered') self.process() logger.info('Adding {0}', client) self.client = client self._add_ops_for_client_connect(client)
def remove_client(self, client): logger.info('Removing {0}', client) self.process() for distributor in self.client_distributors: if distributor.client.id == client.id: distributor.remove_client(None) self.client_distributors.remove(distributor)
def remove_client_from_id(self, client_id): logger.info('Removing {0}', client_id) self.process() for client_distributor in self.client_distributors: if client_distributor.client.id == client_id: client_distributor.remove_client(None) self.client_distributors.remove(client_distributor)
def remove_object(self, obj): logger.info('Removing {0}', obj) was_visible = obj.visible_to_client if was_visible and hasattr(obj, 'on_remove_from_client'): obj.on_remove_from_client() if was_visible: self.add_op(obj, obj.get_delete_op()) obj.visible_to_client = False
def add_client(self, client): for client_distributor in self.client_distributors: if client_distributor.client.id == client.id: raise ValueError('Client is already registered') self.process() logger.info('Adding {0}', client) client_distributor = distributor.system.Distributor() client_distributor.add_client(client) client_distributor._add_ops_for_client_connect(client) self.client_distributors.append(client_distributor)
def remove_object(self, obj, **kwargs): logger.info('Removing {0}', obj) was_visible = obj.visible_to_client if was_visible and hasattr(obj, 'on_remove_from_client'): obj.on_remove_from_client() if was_visible: delete_op = obj.get_delete_op(**kwargs) if delete_op is not None: self.add_op(obj, delete_op) obj.visible_to_client = False
def add_object(self, obj): logger.info('Adding {0}', obj) obj.visible_to_client = True if not services.client_manager(): return op = obj.get_create_op() if op is None: obj.visible_to_client = False return self.journal.add(obj, op, ignore_deferral=True) self._pending_creates.add(obj) if hasattr(obj, 'on_add_to_client'): obj.on_add_to_client()
def add_client(self, client): for client_distributor in self.client_distributors: if client_distributor.client.id == client.id: raise ValueError('Client is already registered') self.process() logger.info('Adding {0}', client) client_distributor = distributor.system.Distributor() client_distributor.add_client(client) client_distributor._add_ops_for_client_connect(client) all_objs = [] for manager in services.client_object_managers(): for obj in manager.get_all(): # if issubclass(type(obj), BaseSituation): all_objs.append(obj) ts4mp_log("objs in view", str(all_objs)) self.client_distributors.append(client_distributor)
def remove_client(self, client): logger.info('Removing {0}', client) self.process() self.client = None