code: def fire_event(self, event, timeout):
          
          if not isinstance(event, IEvent):
              raise TypeError("event can only be an instance of type IEvent")
          if not isinstance(timeout, baseinteger):
              raise TypeError("timeout can only be an instance of type baseinteger")
          result = self._call("fireEvent",
                       in_p=[event, timeout])
          return result
docs: Fire an event for this source.
  
          in event of type :class:`IEvent`
              Event to deliver.
  
          in timeout of type int
              Maximum time to wait for event processing (if event is waitable), in ms;
              0 = no wait, -1 = indefinite wait.
  
          return result of type bool
              true if an event was delivered to all targets, or is non-waitable.