def wrap(impl): if impl is None: return None number = pn_event_type(impl) cls = pn_event_class(impl) if cls: clsname = pn_class_name(cls) context = wrappers[clsname](pn_event_context(impl)) # check for an application defined ApplicationEvent and return that. This # avoids an expensive wrap operation invoked by event.context if cls == PN_PYREF and isinstance(context, EventBase): return context else: clsname = None event = Event(impl, number, clsname, context) return event
def context(self): """Returns the context object associated with the event. The type of this depend on the type of event.""" return wrappers[self.clazz](pn_event_context(self._impl))