コード例 #1
0
 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)
コード例 #2
0
 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)
コード例 #3
0
ファイル: system_distributor.py プロジェクト: dptetc/ts4mp
    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)
コード例 #4
0
 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
コード例 #5
0
 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)
コード例 #6
0
 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
コード例 #7
0
 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()
コード例 #8
0
ファイル: system_distributor.py プロジェクト: dptetc/ts4mp
    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)
コード例 #9
0
 def remove_client(self, client):
     logger.info('Removing {0}', client)
     self.process()
     self.client = None