← Back
Editing: signal.cpython-312.pyc
� �ico � � � d gZ G d� d e� Zy)�Signalc �8 � e Zd ZdZddgZd� Zd� Zd� Zd� Zd d �Z y)r z#Default representation of a signal.� _callbacks�__weakref__c � � g | _ y)zCreate a new signal.N)r )�selfs �2/usr/lib/python3.12/site-packages/dasbus/signal.py�__init__zSignal.__init__! s � ���� c �: � | j j |� y)zNConnect to a signal. :param callback: a function to register N)r �append�r �callbacks r �connectzSignal.connect% s � � �����x�(r c �( � | j |i |�� y�z'Emit a signal with the given arguments.N)�emit)r �args�kwargss r �__call__zSignal.__call__, s � ��� � �4�"�6�"r c �R � | j j � D ] } ||i |�� � yr )r �copy)r r r r s r r zSignal.emit0 s( � � ���,�,�.�H��d�%�f�%� /r Nc � � |�| j j � y | j j |� y# t $ r Y yw xY w)a Disconnect from a signal. If no callback is specified, then all functions will be unregistered from the signal. If the specified callback isn't registered, do nothing. :param callback: a function to unregister or None N)r �clear�remove� ValueErrorr s r � disconnectzSignal.disconnect7 sF � � ���O�O�!�!�#�� ��O�O�"�"�8�,��� �� �s �; � A�A)N) �__name__� __module__�__qualname__�__doc__� __slots__r r r r r � r r r r s- � �-� ���I� �)�#�&�r N)�__all__�objectr r"