+
    ico  c                   s"    R .t  ! R R ]4      tR# )Signalc                   sN   a  ] tR t^t o RtRR.tR tR tR tR t	RR	 lt
R
tV tR# )r    z#Default representation of a signal.
_callbacksZ__weakref__c                s    . V n         R# )zCreate a new signal.Nr   )selfs   &2/usr/lib/python3.14/site-packages/dasbus/signal.py__init__ZSignal.__init__!   s	        c                s<    V P                   P                  V4       R# )z>Connect to a signal.

:param callback: a function to register
N)r   Zappendr   callback   &&r   connectZSignal.connect%   s    
 	x(r   c                s*    V P                   ! V/ VB  R# z'Emit a signal with the given arguments.N)emit)r   argskwargss   &*,r   __call__ZSignal.__call__,   s    		4"6"r   c                sX    V P                   P                  4        F  pV! V/ VB  K  	  R# r   )r   Zcopy)r   r   r   r   s   &*, r   r   ZSignal.emit0   s(     ,,.Hd%f% /r   Nc                s    Vf   V P                   P                  4        R#  V P                   P                  V4       R#   \         d     R# i ; i)zDisconnect 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   ZclearZremoveZ
ValueErrorr   r	   r   
disconnectZSignal.disconnect7   sF     OO!!#	OO""8, 		s   ? AAr   )N)Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__Z	__slots__r   r
   r   r   r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r    r       s5     - 	I
)#& r   N)Z__all__Zobjectr    ) r   r   <module>r      s   , */V /r   