def participant_change_cb(self, added, removed): log.debug( 'participant_change_cb: %s %s', added, removed ) def nick(buddy): if buddy is not None: return buddy.props.nick else: return 'Unknown' for handle, bus_name in added: dbus_handle = self.tube.participants[handle] self.ordered_bus_names.append(dbus_handle) eventwrap.post(PEvent.Event(PARTICIPANT_ADD, handle=dbus_handle)) for handle in removed: dbus_handle = self.tube.participants[handle] self.ordered_bus_names.remove(dbus_handle) eventwrap.post(PEvent.Event(PARTICIPANT_REMOVE, handle=dbus_handle)) if self.is_initiator: if not self.entered: # Initiator will broadcast a new ordered_bus_names each time # a participant joins. self.ordered_bus_names = [self.tube.get_unique_name()] self.NewParticipants(self.ordered_bus_names) self.entered = True
def participant_change_cb(self, added, removed): log.debug('participant_change_cb: %s %s', added, removed) def nick(buddy): if buddy is not None: return buddy.props.nick else: return 'Unknown' for handle, bus_name in added: dbus_handle = self.tube.participants[handle] self.ordered_bus_names.append(dbus_handle) eventwrap.post(PEvent.Event(PARTICIPANT_ADD, handle=dbus_handle)) for handle in removed: dbus_handle = self.tube.participants[handle] self.ordered_bus_names.remove(dbus_handle) eventwrap.post(PEvent.Event(PARTICIPANT_REMOVE, handle=dbus_handle)) if self.is_initiator: if not self.entered: # Initiator will broadcast a new ordered_bus_names each time # a participant joins. self.ordered_bus_names = [self.tube.get_unique_name()] self.NewParticipants(self.ordered_bus_names) self.entered = True
def _post(self, evt): try: PCevent.post(evt) except pygame.error, e: if str(e) == 'Event queue full': print "Event queue full!" pass else: raise e
def __init__(self, tube, is_initiator, tube_id): super(PygameTube, self).__init__(tube, DBUS_PATH) log.info( 'PygameTube init' ) self.tube = tube self.is_initiator = is_initiator self.entered = False self.ordered_bus_names = [] eventwrap.post(PEvent.Event(CONNECT, id=tube_id)) if not self.is_initiator: self.tube.add_signal_receiver(self.new_participant_cb, 'NewParticipants', DBUS_IFACE, path=DBUS_PATH) self.tube.watch_participants(self.participant_change_cb) self.tube.add_signal_receiver(self.broadcast_cb, 'Broadcast', DBUS_IFACE, path=DBUS_PATH, sender_keyword='sender')
def __init__(self, tube, is_initiator, tube_id): super(PygameTube, self).__init__(tube, DBUS_PATH) self.tube = tube self.is_initiator = is_initiator self.entered = False self.ordered_bus_names = [] eventwrap.post(PEvent.Event(CONNECT, id=tube_id)) if not self.is_initiator: self.tube.add_signal_receiver(self.new_participant_cb, 'NewParticipants', DBUS_IFACE, path=DBUS_PATH) self.tube.watch_participants(self.participant_change_cb) self.tube.add_signal_receiver(self.broadcast_cb, 'Broadcast', DBUS_IFACE, path=DBUS_PATH, sender_keyword='sender')
def broadcast_cb(self, content, sender=None): '''This is the Broadcast callback, fired when someone sends a Broadcast signal along the bus.''' eventwrap.post(PEvent.Event(MESSAGE_MULTI, handle=sender, content=content))
def Tell(self, content, sender=None): '''This is the targeted-message interface; called when a message is received that was sent directly to me.''' eventwrap.post(PEvent.Event(MESSAGE_UNI, handle=sender, content=content))
def _quit(self, data=None): self.__stopped = True PCevent.post(Pevent.Event(pygame.QUIT))
def broadcast_cb(self, content, sender=None): '''This is the Broadcast callback, fired when someone sends a Broadcast signal along the bus.''' eventwrap.post( PEvent.Event(MESSAGE_MULTI, handle=sender, content=content))
def Tell(self, content, sender=None): '''This is the targeted-message interface; called when a message is received that was sent directly to me.''' eventwrap.post( PEvent.Event(MESSAGE_UNI, handle=sender, content=content))