2424
2525import enum
2626from collections .abc import Callable
27- from typing import TYPE_CHECKING , Protocol , cast
27+ from typing import TYPE_CHECKING
2828
2929if TYPE_CHECKING :
3030 from .._core import Zeroconf
@@ -48,24 +48,11 @@ def update_service(self, zc: Zeroconf, type_: str, name: str) -> None:
4848 raise NotImplementedError
4949
5050
51- class ServiceStateChangeHandler (Protocol ):
52- """Callback contract dispatched by :class:`Signal` to service-state listeners."""
53-
54- def __call__ (
55- self ,
56- * ,
57- zeroconf : Zeroconf ,
58- service_type : str ,
59- name : str ,
60- state_change : ServiceStateChange ,
61- ) -> None : ...
62-
63-
6451class Signal :
6552 __slots__ = ("_handlers" ,)
6653
6754 def __init__ (self ) -> None :
68- self ._handlers : list [ServiceStateChangeHandler ] = []
55+ self ._handlers : list [Callable [..., None ] ] = []
6956
7057 def fire (
7158 self ,
@@ -91,13 +78,13 @@ def registration_interface(self) -> SignalRegistrationInterface:
9178class SignalRegistrationInterface :
9279 __slots__ = ("_handlers" ,)
9380
94- def __init__ (self , handlers : list [ServiceStateChangeHandler ]) -> None :
81+ def __init__ (self , handlers : list [Callable [..., None ] ]) -> None :
9582 self ._handlers = handlers
9683
9784 def register_handler (self , handler : Callable [..., None ]) -> SignalRegistrationInterface :
98- self ._handlers .append (cast ( "ServiceStateChangeHandler" , handler ) )
85+ self ._handlers .append (handler )
9986 return self
10087
10188 def unregister_handler (self , handler : Callable [..., None ]) -> SignalRegistrationInterface :
102- self ._handlers .remove (cast ( "ServiceStateChangeHandler" , handler ) )
89+ self ._handlers .remove (handler )
10390 return self
0 commit comments