events: add function to remove event handlers
Event handlers for remote mgmt API will be registered dynamically, so allow to unregister them. QubesOS/qubes-issues#2622
This commit is contained in:
		
							parent
							
								
									68c8d219c9
								
							
						
					
					
						commit
						ee967c1e72
					
				| @ -115,6 +115,17 @@ class Emitter(object, metaclass=EmitterMeta): | ||||
|         # pylint: disable=no-member | ||||
|         cls.__handlers__[event].add(func) | ||||
| 
 | ||||
|     @classmethod | ||||
|     def remove_handler(cls, event, func): | ||||
|         '''Remove event handler from subject's class. | ||||
| 
 | ||||
|         :param str event: event identificator | ||||
|         :param collections.Callable handler: handler callable | ||||
|         ''' | ||||
| 
 | ||||
|         # pylint: disable=no-member | ||||
|         cls.__handlers__[event].remove(func) | ||||
| 
 | ||||
| 
 | ||||
|     def _fire_event_in_order(self, order, event, kwargs): | ||||
|         '''Fire event for classes in given order. | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Marek Marczykowski-Górecki
						Marek Marczykowski-Górecki