Common: Add unsubscribing functions to IEventQueue

This commit is contained in:
Shreya Malviya 2022-08-08 13:38:27 +05:30
parent 84c800b815
commit 0578a6fcc8
1 changed files with 30 additions and 1 deletions

View File

@ -52,5 +52,34 @@ class IEventQueue(ABC):
pass
@abstractstaticmethod
def unsubscribe_all(subscriber: Callable[..., Any]):
"""
Unsubscribes a subscriber from all events
# TODO: Add unsubscribing functions
:param subscriber: Callable that should unsubscribe from events
"""
pass
@abstractstaticmethod
def unsubscribe_types(types: Sequence[AbstractEvent], subscriber: Callable[..., Any]):
"""
Unsubscribes a subscriber from all specifed event types
:param types: Event types from which the subscriber should unsubscribe
:param subscriber: Callable that should unsubscribe from events
"""
pass
@abstractstaticmethod
def unsubscribe_tags(tags: Sequence[str], subscriber: Callable[..., Any]):
"""
Unubscribes a subscriber from all specified event tags
:param tags: Event tags from which the subscriber should unsubscribe
:param subscriber: Callable that should unsubscribe from events
"""
pass