+
    ָVX
  c                   sz    R t  ! R R]4      t ! R R]4      t ! R R]4      t]! ]! 4       P                  4      tR# )z{Generic programming utilities.

Utilities implemented in this file are not dependent
on dbus, they can be used everywhere.
c                   sB   a  ] tR t^t o RtR tR tR tR tR t	Rt
V tR# )	subscriptionc                sT    Wn         W n        V P                   P                  V4       R # N)callback_listcallbackZappend)selfr   r      &&&3/usr/lib/python3.14/site-packages/pydbus/generic.py__init__Zsubscription.__init__
   s!    $-H%    c                sl    V P                   P                  V P                  4       R V n         R V n        R # r   )r   Zremover   r      &r   unsubscribeZsubscription.unsubscribe   s)    DMM*$$-r   c                s&    V P                  4        R# )zAn alias for unsubscribe()N)r   r	   r
   r   
disconnectZsubscription.disconnect   s    r   c                s    V # r    r	   r
   r   	__enter__Zsubscription.__enter__   s    	+r   c                sF    V P                   e   V P                  4        R # R # r   )r   r   )r   Zexc_typeZ	exc_valueZ	tracebacks   &&&&r   __exit__Zsubscription.__exit__   s    		 
r   )r   r   N)r   r   )__name__
__module____qualname____firstlineno__	__slots__r   r   r   r   r   __static_attributes____classdictcell__Z__classdict__   @r   r    r       s(     *&

 r   r    c                   sR   a  ] tR t^t o R	tR t]R 4       tR tR t	R t
R tRtV tR# )
bound_signalc                s    Wn         W n        R # r   
__signal____self__)r   signalinstancer   r   r   Zbound_signal.__init__"   s    /-r   c                sP    V P                   P                  V P                  ,          # r   )r   mapr   r	   r
   r   	callbacksZbound_signal.callbacks&   s    			T]]	++r   c                sN    V P                   P                  V P                  V4      # zSubscribe to the signal.)r   connectr   )r   r   s   &&r   r"   Zbound_signal.connect*   s    		 	 	99r   c                sV    V P                   P                  ! V P                  .VO5!   R# zEmit the signal.N)r   emitr   r   args   &*r   r$   Zbound_signal.emit.   s    //t}},t,r   c                s&    V P                   ! V!   R# r#   )r$   r%   r'   r   __call__Zbound_signal.__call__2   s    ))Tr   c                s    R V P                   P                  ,           R,           \        V P                  4      ,           R,           # )z<bound signal z of >)r   r   Zreprr   r	   r
   r   __repr__Zbound_signal.__repr__6   s0    	DOO88	86	ADDW	WZ]	]]r   )r   r   Nr   )r   r   r   r   r   r   Zpropertyr    r"   r$   r(   r*   r   r   r   r   r   r   r      s>     ' , ,:-^ ^r   r   c                   sH   a  ] tR t^9t o RtR tR tR tR tR t	R t
RtV tR	# )
r   a  Static signal object

You're expected to set it as a class property::

        class A:
                SomethingHappened = signal()

Declared this way, it can be used on class instances
to connect signal observers::

        a = A()
        a.SomethingHappened.connect(func)

and emit the signal::

        a.SomethingHappened()

You may pass any parameters to the emiting function
- they will be forwarded to all subscribed callbacks.
c                s0    / V n         R V n        RV n        R# )z<anonymous signal>zSignal.N)r   r   __doc__r	   r
   r   r   Zsignal.__init__O   s    $(*$$,r   c                sN    \        V P                  P                  V. 4      V4      # r!   )r    r   Z
setdefault)r   objectr   r   r   r"   Zsignal.connectT   s     	dhh))&"5x	@@r   c                sX    V P                   P                  V. 4       F	  pV! V!   K  	  R# r#   )r   Zget)r   r,   r&   Zcbs   &&* r   r$   Zsignal.emitX   s"    HHLL$bt9 %r   c                s$    Vf   V # \        W4      # r   )r   )r   r   Zownerr   r   __get__Zsignal.__get__]   s    
;	d	%%r   c                s    \        R 4      h)zcan't set attribute)ZAttributeError)r   r   Zvaluer   r   __set__Zsignal.__set__c   s    ,--r   c                sx    R V P                   ,           R,           \        \        V 4      R4      ,           R,           # )z<signal z at 0xZxr)   )r   ZformatZidr	   r
   r   r*   Zsignal.__repr__f   s-    	d''	'(	2VBtHc5J	JS	PPr   )r+   r   r   N)r   r   r   r   r+   r   r"   r$   r-   r.   r*   r   r   r   r   r   r   r   9   s0     *
A
&.Q Qr   r   N)r+   r,   r    r   r   Ztyper$   Zbound_methodr   r   r   <module>r/      sE   6 0^6 ^4.QV .Q` FHMM"r   