PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` 3 ָVX @sDdZGdddeZGdddeZGdddeZeejZdS)z{Generic programming utilities. Utilities implemented in this file are not dependent on dbus, they can be used everywhere. c@s8eZdZdZddZddZddZd d Zd d Zd S) subscription callback_listcallbackcCs||_||_|jj|dS)N)rrappend)selfrrr/usr/lib/python3.6/generic.py__init__ szsubscription.__init__cCs|jj|jd|_d|_dS)N)rremover)rrrr unsubscribeszsubscription.unsubscribecCs |jdS)zAn alias for unsubscribe()N)r )rrrr disconnectszsubscription.disconnectcCs|S)Nr)rrrr __enter__szsubscription.__enter__cCs|jdk r|jdS)N)rr )rexc_type exc_value tracebackrrr__exit__s zsubscription.__exit__N)rr) __name__ __module__ __qualname__ __slots__rr r r rrrrrrs rc@sDeZdZdZddZeddZddZd d Zd d Z d dZ dS) bound_signal __signal____self__cCs||_||_dS)N)rr)rsignalinstancerrrr"szbound_signal.__init__cCs|jj|jS)N)rmapr)rrrr callbacks&szbound_signal.callbackscCs|jj|j|S)zSubscribe to the signal.)rconnectr)rrrrrr*szbound_signal.connectcGs|jj|jf|dS)zEmit the signal.N)remitr)rargsrrrr.szbound_signal.emitcGs|j|dS)zEmit the signal.N)r)rrrrr__call__2szbound_signal.__call__cCsd|jjdt|jdS)Nz)rrreprr)rrrr__repr__6szbound_signal.__repr__N)rr) rrrrrpropertyrrrrr"rrrrrs rc@s@eZdZdZddZddZddZdd Zd d Zd d Z dS)raStatic 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. cCsi|_d|_d|_dS)NzzSignal.)rr__doc__)rrrrrOszsignal.__init__cCst|jj|g|S)zSubscribe to the signal.)rr setdefault)robjectrrrrrTszsignal.connectcGs$x|jj|gD] }||qWdS)zEmit the signal.N)rget)rr&rcbrrrrXsz signal.emitcCs|dkr |St||S)N)r)rrownerrrr__get__]szsignal.__get__cCs tddS)Nzcan't set attribute)AttributeError)rrvaluerrr__set__cszsignal.__set__cCs d|jdtt|ddS)Nzs0