Ë
    @ia©i  ã                   óî   — d Z dZddlZddlZddlZddlmZmZm	Z	m
Z
mZmZmZ ddlmZ ddlmZmZmZmZmZ ddlmZ ddlmZmZ dd	lmZ  ej8                  d
«      Zd„ Z G d„ de«      Z  G d„ de«      Zy))Ú
ConnectionÚSignalMatchÚreStructuredTexté    N)r   ÚLOCAL_IFACEÚ
LOCAL_PATHÚvalidate_bus_nameÚvalidate_interface_nameÚvalidate_member_nameÚvalidate_object_path)ÚDBusException)ÚErrorMessageÚHANDLER_RESULT_NOT_YET_HANDLEDÚMethodCallMessageÚMethodReturnMessageÚSignalMessage)ÚProxyObject)Úis_py2Úis_py3)ÚStringzdbus.connectionc                   ó   — y ©N© )ÚargsÚkwargss     ú1/usr/lib/python3/dist-packages/dbus/connection.pyÚ_noopr   0   s   € Øó    c                   ó|   — e Zd Zg d¢Z ee«      Z	 	 	 	 dd„Zd„ Zd„ Zd„ Z	 e
d„ «      Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zy)r   )Ú_sender_name_ownerÚ_memberÚ
_interfaceÚ_senderÚ_pathÚ_handlerÚ_args_matchÚ_ruleÚ_byte_arraysÚ_conn_weakrefÚ_destination_keywordÚ_interface_keywordÚ_message_keywordÚ_member_keywordÚ_sender_keywordÚ_path_keywordÚ_int_args_matchNc                 ó¦  — |�t        |«       |�t        |«       |�t        |«       |�t        |«       d | _        t        j                  |«      | _        || _        || _	        || _
        || _        || _        || _        d|v rt        d«      ‚|| _        || _        |	| _        || _        |
| _        || _        || _        || _        |sd | _        y i | _        |D ]Z  }|j1                  d«      st        d|z  «      ‚	 t3        |dd  «      }|dk  s|dkD  rt        d|z  «      ‚||   | j.                  |<   Œ\ y # t4        $ r t        d|z  «      ‚w xY w)	NÚutf8_stringsú*unexpected keyword argument 'utf8_strings'Úargz(SignalMatch: unknown keyword argument %sé   r   é?   z9SignalMatch: arg match index must be in range(64), not %d)r
   r	   r   r   r&   ÚweakrefÚrefr(   r"   r!   r    r#   r$   r   Ú	TypeErrorr'   r-   r.   r,   r*   r+   r)   r%   r/   Ú
startswithÚintÚ
ValueError)ÚselfÚconnÚsenderÚobject_pathÚdbus_interfaceÚmemberÚhandlerÚbyte_arraysÚsender_keywordÚpath_keywordÚinterface_keywordÚmember_keywordÚmessage_keywordÚdestination_keywordr   ÚkwargÚindexs                    r   Ú__init__zSignalMatch.__init__>   sš  € ð ÐÜ  Ô(ØÐ%Ü# NÔ3ØÐÜ˜fÔ%ØÐ"Ü  Ô-àˆŒ
Ü$Ÿ[™[¨Ó.ˆÔØˆŒØ(ˆŒØˆŒØ ˆŒ
ØˆŒð #)ˆÔà˜VÑ#ÜÐHÓIÐIà'ˆÔØ-ˆÔØ)ˆÔØ-ˆÔØ"3ˆÔØ /ˆÔØ$7ˆÔ!à!ˆÔÙØ#'ˆDÕ à#%ˆDÔ Øò <�Ø×'Ñ'¨Ô.Ü#Ð$NØ&+ñ%,ó -ð -ð-Ü  a b 	›N�Eð ˜1’9 ¨¢
Ü#ð %8Ø:?ñ%@ó Að Aà.4°U©m�×$Ñ$ UÒ+ñ<øô "ò -Ü#Ð$NØ&+ñ%,ó -ð -ð-ús   Ã=D8Ä8Ec                 ó*   — t        t        | «      «      S ©z-SignalMatch objects are compared by identity.)ÚhashÚid©r<   s    r   Ú__hash__zSignalMatch.__hash__w   s   € ä”B�t“H‹~Ðr   c                 ó
   — | |u S rN   r   ©r<   Úothers     r   Ú__eq__zSignalMatch.__eq__{   s   € à�uˆ}Ðr   c                 ó
   — | |uS rN   r   rT   s     r   Ú__ne__zSignalMatch.__ne__   s   € à˜5Ð Ð r   c                 ó   — | j                   S r   )r"   rQ   s    r   ú<lambda>zSignalMatch.<lambda>ƒ   s
   €  4§<¡<€ r   c                 ó>  — | j                   �€dg}| j                  �|j                  d| j                  z  «       | j                  �|j                  d| j                  z  «       | j                  �|j                  d| j                  z  «       | j
                  �|j                  d| j
                  z  «       | j                  �8| j                  j                  «       D ]  \  }}|j                  d||fz  «       Œ dj                  |«      | _         | j                   S )Nztype='signal'zsender='%s'z	path='%s'zinterface='%s'zmember='%s'z
arg%d='%s'ú,)	r&   r"   Úappendr#   r!   r    r/   ÚitemsÚjoin)r<   ÚrulerK   Úvalues       r   Ú__str__zSignalMatch.__str__…   sï   € Ø�:‰:ÑØ#Ð$ˆDØ�|‰|Ð'Ø—‘˜M¨D¯L©LÑ8Ô9Ø�z‰zÐ%Ø—‘˜K¨$¯*©*Ñ4Ô5Ø�‰Ð*Ø—‘Ð,¨t¯©Ñ>Ô?Ø�|‰|Ð'Ø—‘˜M¨D¯L©LÑ8Ô9Ø×#Ñ#Ð/Ø$(×$8Ñ$8×$>Ñ$>Ó$@ò ?‘L�E˜5Ø—K‘K °°u¨~Ñ =Õ>ð?ð Ÿ™ $›ˆDŒJà�z‰zÐr   c                 ój   — d| j                   t        | «      | j                  | j                  «       fz  S )Nz<%s at %x "%s" on conn %r>)Ú	__class__rP   r&   r(   rQ   s    r   Ú__repr__zSignalMatch.__repr__˜   s2   € Ø,Ø—>‘>¤2 d£8¨T¯Z©Z¸×9KÑ9KÓ9MÐNñOð 	Pr   c                 ó   — || _         y r   )r   )r<   Únew_names     r   Úset_sender_name_ownerz!SignalMatch.set_sender_name_ownerœ   s
   € Ø"*ˆÕr   c                 óÆ   — |d | j                   fvry|| j                  k7  ry|| j                  k7  ry|| j                  k7  ry|| j                  k7  ry|| j
                  k7  ryy)NFT)r$   r"   r#   r!   r    r%   )r<   r>   r?   r@   rA   rB   r   s          r   Úmatches_removal_specz SignalMatch.matches_removal_specŸ   sf   € à˜4 §¡Ð/Ñ/ØØ�T—\‘\Ò!ØØ˜$Ÿ*™*Ò$ØØ˜TŸ_™_Ò,ØØ�T—\‘\Ò!ØØ�T×%Ñ%Ò%ØØr   c                 ó   — d }| j                   d |j                  «       fvry| j                  �kt        d¬«      } |j                  di |¤Ž}| j                  j                  «       D ]0  \  }}|t        |«      k\  st        ||   t        «      r	||   |k7  sŒ0 y | j                  d |j                  «       fvry| j                  d |j                  «       fvry| j                  d |j                  «       fvry	 |�| j                  s|j	                  | j                  ¬«      }i }| j                   �|j                  «       || j                   <   | j"                  �|j%                  «       || j"                  <   | j&                  �|j                  «       || j&                  <   | j(                  �|j                  «       || j(                  <   | j*                  �|j                  «       || j*                  <   | j,                  �||| j,                  <    | j.                  |i |¤Ž y#  t1        j2                  «        t4        j7                  dd¬«       Y yxY w)NFT©rC   z&Exception in handler for D-Bus signal:é   ©Úexc_infor   )r   Ú
get_senderr/   ÚdictÚget_args_listr^   ÚlenÚ
isinstancer   r    Ú
get_memberr!   Úget_interfacer#   Úget_pathr'   r-   r)   Úget_destinationr.   r,   r*   r+   r$   ÚloggingÚbasicConfigÚ_loggerÚerror)r<   Úmessager   r   rK   ra   s         r   Úmaybe_handle_messagez SignalMatch.maybe_handle_message¯   s?  € Øˆð ×"Ñ"¨4°×1CÑ1CÓ1EÐ*FÑFØØ×ÑÐ+ä dÔ+ˆFØ(�7×(Ñ(Ñ2¨6Ñ2ˆDØ $× 4Ñ 4× :Ñ :Ó <ò !‘��uØœS ›YÒ&Ü% d¨5¡k´6Ô:Ø˜E‘{ eÓ+Ù ð	!ð �<‰<  g×&8Ñ&8Ó&:Ð;Ñ;ØØ�?‰? 4¨×)>Ñ)>Ó)@Ð"AÑAØØ�:‰:˜d G×$4Ñ$4Ó$6Ð7Ñ7Øð	Pð ˆ| 4×#4Ò#4Ø×,Ñ,¸×9JÑ9JÐ,ÓK�ØˆFØ×#Ñ#Ð/Ø/6×/AÑ/AÓ/C��t×+Ñ+Ñ,Ø×(Ñ(Ð4Ø4;×4KÑ4KÓ4M��t×0Ñ0Ñ1Ø×!Ñ!Ð-Ø-4×-=Ñ-=Ó-?��t×)Ñ)Ñ*Ø×#Ñ#Ð/Ø/6×/AÑ/AÓ/C��t×+Ñ+Ñ,Ø×&Ñ&Ð2Ø29×2GÑ2GÓ2I��t×.Ñ.Ñ/Ø×$Ñ$Ð0Ø07��t×,Ñ,Ñ-ØˆD�M‰M˜4Ð* 6Ò*ð øð	Pä×ÑÔ!Ü�M‰MÐBÈQˆMÕOàús   Ã7D&H È-Ic                 ó¼   — | j                  «       }|�J |j                  | | j                  | j                  | j                  | j
                  fi | j                  ¤Ž y y r   )r(   Úremove_signal_receiverr    r!   r"   r#   r%   )r<   r=   s     r   ÚremovezSignalMatch.removeâ   sW   € Ø×!Ñ!Ó#ˆàÐØ'ˆD×'Ñ'¨¨d¯l©lØ(,¯©¸¿¹Ø(,¯
©
ñ<ð +/×*:Ñ*:ó<ð r   )FNNNNNN)Ú__name__Ú
__module__Ú__qualname__Ú_slotsÚtupleÚ	__slots__rL   rR   rV   rX   Úpropertyr>   rb   re   rh   rj   r~   r�   r   r   r   r   r   4   se   „ òE€Fñ �f“€Ið /4Ø37Ø8<Ø;?ó	7<òròò!ñ Ñ/Ó0€Fòò&Pò+òò 1óf<r   r   c                   ó„   ‡ — e Zd ZdZeZˆ fd„Zd„ Zdd„Z	 	 	 	 dd„Z	d„ Z
	 	 	 	 dd„Zd„ Zd	„ Z	 	 dd
„Z	 	 dd„Zd„ Zˆ xZS )r   zzA connection to another application. In this base class there is
    assumed to be no bus daemon.

    :Since: 0.81.0
    c                 óð   •— t        t        | �
  |i |¤Ž t        | d«      sVd| _        g | _        i | _        	 t        j                  «       | _	        	 | j                  | j                  j                  «       y y )NÚ_dbus_Connection_initializedrm   )Úsuperr   rL   Úhasattrr‹   Ú"_Connection__call_on_disconnectionÚ!_signal_recipients_by_object_pathÚ	threadingÚLockÚ_signals_lockÚadd_message_filterrd   Ú_signal_func)r<   r   r   rd   s      €r   rL   zConnection.__init__õ   sr   ø€ ÜŒj˜$Ñ(¨$Ð9°&Ò9ô �tÐ;Ô<Ø01ˆDÔ-à+-ˆDÔ(à57ˆDÔ2ð>ô "+§¡Ó!1ˆDÔØ=à×#Ñ# D§N¡N×$?Ñ$?Õ@ð =r   c                 ó   — |S )a  Return the unique name for the given bus name, activating it
        if necessary and possible.

        If the name is already unique or this connection is not to a
        bus daemon, just return it.

        :Returns: a bus name. If the given `bus_name` exists, the returned
            name identifies its current owner; otherwise the returned name
            does not exist.
        :Raises DBusException: if the implementation has failed
            to activate the given bus name.
        :Since: 0.81.0
        r   )r<   Úbus_names     r   Úactivate_name_ownerzConnection.activate_name_owner  s	   € ð ˆr   c                 óö   — |j                  dd«      }|�$|�t        d«      ‚ddlm}  |dt        d¬«       |}|r+t        d	d
j                  |j                  «       «      z  «      ‚| j                  | |||¬«      S )aÕ  Return a local proxy for the given remote object.

        Method calls on the proxy are translated into method calls on the
        remote object.

        :Parameters:
            `bus_name` : str
                A bus name (either the unique name or a well-known name)
                of the application owning the object. The keyword argument
                named_service is a deprecated alias for this.
            `object_path` : str
                The object path of the desired object
            `introspect` : bool
                If true (default), attempt to introspect the remote
                object to find out supported methods and their signatures

        :Returns: a `dbus.proxies.ProxyObject`
        Únamed_serviceNú3bus_name and named_service cannot both be specifiedr   ©ÚwarnziPassing the named_service parameter to get_object by name is deprecated: please use positional parametersé   ©Ú
stacklevelz4get_object does not take these keyword arguments: %sz, )Ú
introspect)Úpopr8   Úwarningsrœ   ÚDeprecationWarningr_   ÚkeysÚProxyObjectClass)r<   r–   r?   r    r   r™   rœ   s          r   Ú
get_objectzConnection.get_object  s¡   € ð( Ÿ
™
 ?°DÓ9ˆØÐ$ØÐ#Üð !/ó 0ð 0å%Ùð Cä#°õ3ð %ˆHÙÜð ,Ø.2¯i©i¸¿¹»Ó.FñGó Hð Hð ×$Ñ$ T¨8°[Ø0:ð %ó <ð 	<r   c                 ó  — | j                  «        |j                  dd«      }|�$|�t        d«      ‚|}ddlm}  |dt
        d¬«       t        | |||||fi |¤Ž}	| j                  j                  «        	 | j                  j                  |i «      }
|
j                  |i «      }|j                  |g «      }|j                  |	«       | j                  j                  «        |	S # | j                  j                  «        w xY w)	a  Arrange for the given function to be called when a signal matching
        the parameters is received.

        :Parameters:
            `handler_function` : callable
                The function to be called. Its positional arguments will
                be the arguments of the signal. By default it will receive
                no keyword arguments, but see the description of
                the optional keyword arguments below.
            `signal_name` : str
                The signal name; None (the default) matches all names
            `dbus_interface` : str
                The D-Bus interface name with which to qualify the signal;
                None (the default) matches all interface names
            `bus_name` : str
                A bus name for the sender, which will be resolved to a
                unique name if it is not already; None (the default) matches
                any sender.
            `path` : str
                The object path of the object which must have emitted the
                signal; None (the default) matches any object path
        :Keywords:
            `utf8_strings` : bool
                If True, the handler function will receive any string
                arguments as dbus.UTF8String objects (a subclass of str
                guaranteed to be UTF-8). If False (default) it will receive
                any string arguments as dbus.String objects (a subclass of
                unicode).
            `byte_arrays` : bool
                If True, the handler function will receive any byte-array
                arguments as dbus.ByteArray objects (a subclass of str).
                If False (default) it will receive any byte-array
                arguments as a dbus.Array of dbus.Byte (subclasses of:
                a list of ints).
            `sender_keyword` : str
                If not None (the default), the handler function will receive
                the unique name of the sending endpoint as a keyword
                argument with this name.
            `destination_keyword` : str
                If not None (the default), the handler function will receive
                the bus name of the destination (or None if the signal is a
                broadcast, as is usual) as a keyword argument with this name.
            `interface_keyword` : str
                If not None (the default), the handler function will receive
                the signal interface as a keyword argument with this name.
            `member_keyword` : str
                If not None (the default), the handler function will receive
                the signal name as a keyword argument with this name.
            `path_keyword` : str
                If not None (the default), the handler function will receive
                the object-path of the sending object as a keyword argument
                with this name.
            `message_keyword` : str
                If not None (the default), the handler function will receive
                the `dbus.lowlevel.SignalMessage` as a keyword argument with
                this name.
            `arg...` : unicode or UTF-8 str
                If there are additional keyword parameters of the form
                ``arg``\ *n*, match only signals where the *n*\ th argument
                is the value given for that keyword parameter. As of this
                time only string arguments can be matched (in particular,
                object paths and signatures can't).
            `named_service` : str
                A deprecated alias for `bus_name`.
        r™   Nrš   r   r›   zrPassing the named_service parameter to add_signal_receiver by name is deprecated: please use positional parametersr�   rž   )Ú_require_main_loopr¡   r8   r¢   rœ   r£   r   r’   Úacquirer�   Ú
setdefaultr]   Úrelease)r<   Úhandler_functionÚsignal_namer@   r–   ÚpathÚkeywordsr™   rœ   ÚmatchÚby_interfaceÚ	by_memberÚmatchess                r   Úadd_signal_receiverzConnection.add_signal_receiver=  s  € ðN 	×ÑÔ!à Ÿ™ _°dÓ;ˆØÐ$ØÐ#Üð !,ó -ð -à$ˆHÝ%Ùð Kä#°õ3ô ˜D (¨D°.Ø'Ð)9ñGØ=EñGˆð 	×Ñ×"Ñ"Ô$ð	)Ø×AÑA×LÑLØ˜"óˆLà$×/Ñ/°ÀÓCˆIØ×*Ñ*¨;¸Ó;ˆGà�N‰N˜5Ô!à×Ñ×&Ñ&Ô(àˆøð ×Ñ×&Ñ&Õ(ús   Á5AC" Ã"C>c              #   ó  K  — |�d |f}nd}|�d |f}nd}|�d |f}nd}|D ]c  }| j                   j                  |«      }|€Œ!|D ]>  }|j                  |d «      }|€Œ|D ]"  }|j                  |d «      }	|	€Œ|	D ]  }
|
–— Œ Œ$ Œ@ Œe y ­w)Nr   )r�   Úget)r<   r®   r@   rA   Ú	path_keysÚinterface_keysÚmember_keysr±   r²   r³   Úms              r   Ú_iter_easy_matcheszConnection._iter_easy_matches¡  sÖ   è ø€ ØÐØ˜t˜‰IàˆIØÐ%Ø" NÐ3‰Nà$ˆNØÐØ ˜.‰Kà!ˆKàò 	 ˆDØ×AÑA×EÑEÀdÓKˆLØÐ#ØØ"0ò 	 �Ø(×,Ñ,¨^¸TÓB�	ØÐ$ØØ)ò  �FØ'Ÿm™m¨F°DÓ9�GØ�Ø Ø$ò  ˜Ø›ñ ñ	 ñ		 ñ		 ùs   ‚BBc                 óP  — |j                  dd «      }|�$|�t        d«      ‚|}ddlm}  |dt        d¬«       g }	g }
| j
                  j                  «        	 | j                  j                  |d «      }|€	 | j
                  j                  «        y |j                  |d «      }|€	 | j
                  j                  «        y |j                  |d «      }|€	 | j
                  j                  «        y |D ]@  }||u s |j                  |||||fi |¤Žr|
j                  |«       Œ0|	j                  |«       ŒB |	r|	||<   n||= |s||= |s| j                  |= | j
                  j                  «        |
D ]  }| j                  |«       Œ y # | j
                  j                  «        w xY w)Nr™   rš   r   r›   zuPassing the named_service parameter to remove_signal_receiver by name is deprecated: please use positional parametersr�   rž   )r¡   r8   r¢   rœ   r£   r’   r©   r�   r¶   r«   rj   r]   Ú_clean_up_signal_match)r<   Úhandler_or_matchr­   r@   r–   r®   r¯   r™   rœ   ÚnewÚ	deletionsr±   r²   r³   r°   s                  r   r€   z!Connection.remove_signal_receiver¾  sÞ  € ð !Ÿ™ _°dÓ;ˆØÐ$ØÐ#Üð !,ó -ð -à$ˆHÝ%Ùð )ô $°õ3ð
 ˆØˆ	Ø×Ñ×"Ñ"Ô$ð!	)Ø×AÑA×EÑEÀdØFJóLˆLàÐ#Øð: ×Ñ×&Ñ&Õ(ð9 %×(Ñ(¨¸Ó>ˆIØÐ Øð4 ×Ñ×&Ñ&Õ(ð3  —m‘m K°Ó6ˆGØˆØð. ×Ñ×&Ñ&Õ(ð+ !ò 
&�Ø$¨Ñ-Ø1�u×1Ñ1°(Ø26Ø2@Ø2=Ø2Bñ	>ð
 5=ò>ð ×$Ñ$ UÕ+à—J‘J˜uÕ%ð
&ñ Ø),�	˜+Ò&à˜kÐ*Ù Ø$ ^Ð4Ù'Ø ×BÑBÀ4ÐHà×Ñ×&Ñ&Ô(àò 	/ˆEØ×'Ñ'¨Õ.ñ	/øð ×Ñ×&Ñ&Õ(ús   ÁF	 ÂF	 ÃF	 Ã2A$F	 Æ	F%c                  ó   — y r   r   )r<   r°   s     r   r½   z!Connection._clean_up_signal_matchù  s   € àr   c                 óÂ  — t        |t        «      st        S |j                  «       }|j	                  «       }|j                  «       }| j                  |||«      D ]  }|j                  |«       Œ |t        k(  r(|t        k(  r|dk(  r| j                  D ]  }	  || «       Œ t        S # t        $ r. t        j                  «        t        j                  dd¬«       Y ŒJw xY w)zvD-Bus filter function. Handle signals by dispatching to Python
        callbacks kept in the match-rule tree.
        ÚDisconnectedz-Exception in handler for Disconnected signal:rm   rn   )rt   r   r   rv   rw   ru   r»   r~   r   r   rŽ   Ú	Exceptionry   rz   r{   r|   )r<   r}   r@   r®   r­   r°   Úcbs          r   r”   zConnection._signal_funcý  sæ   € ô
 ˜'¤=Ô1Ü1Ð1à ×.Ñ.Ó0ˆØ×ÑÓ!ˆØ×(Ñ(Ó*ˆà×,Ñ,¨T°>Ø-8ó:ò 	0ˆEà×&Ñ& wÕ/ð	0ð œkÒ)Ø”JÒØ˜>Ò)Ø×2Ñ2ò /�ð/Ù�t•Hð/ô .Ð-øô !ò /ä×'Ñ'Ô)Ü—M‘Mð #"Ø,-ð "ö /ð/ús   ÂB'Â'4CÃCc                 ó  ‡‡‡— |t         k(  rt        dt         z  «      ‚|t        k(  rt        dt        z  «      ‚t        |
¬«      Šd|v rt	        d«      ‚t        ||||¬«      }	  |j                  |d|iŽ ‰€‰€| j                  |«       y	‰€t        Š‰€t        Šˆˆˆfd
„}| j                  |||	|¬«      S # t        $ r=}t        j                  «        t        j                  d|||j                  |«       ‚ d	}~ww xY w)aS  Call the given method, asynchronously.

        If the reply_handler is None, successful replies will be ignored.
        If the error_handler is None, failures will be ignored. If both
        are None, the implementation may request that no reply is sent.

        :Returns: The dbus.lowlevel.PendingCall.
        :Since: 0.81.0
        ú1Methods may not be called on the reserved path %sú6Methods may not be called on the reserved interface %srl   r1   r2   ©Údestinationr®   Ú	interfaceÚmethodÚ	signatureú<Unable to set arguments %r according to signature %r: %s: %sNc                 óö   •— t        | t        «      r ‰ | j                  di ‰¤ŽŽ  y t        | t        «      r. ‰t	        | j                  «       d| j                  «       iŽ«       y  ‰t        d| z  «      «       y )NÚnamez%Unexpected type for reply message: %rr   )rt   r   rr   r   r   Úget_error_namer8   )r}   Úerror_handlerÚget_args_optsÚreply_handlers    €€€r   Úmsg_reply_handlerz0Connection.call_async.<locals>.msg_reply_handlerL  s€   ø€ Ü˜'Ô#6Ô7ÙÐ4˜w×4Ñ4ÑE°}ÑEÒFÜ˜G¤\Ô2ÙœmØ-4×-BÑ-BÓ-DðF°×1GÑ1GÓ1Iñ Fõ Gñ œið )6Ø8?ñ)@ó Aõ Br   )Úrequire_main_loop)r   r   r   rq   r8   r   r]   rÄ   ry   rz   r{   r|   rd   Úsend_messager   Úsend_message_with_reply)r<   r–   r?   r@   rÌ   rÍ   r   rÔ   rÒ   ÚtimeoutrC   rÖ   r   r}   ÚerÕ   rÓ   s          ``       @r   Ú
call_asynczConnection.call_async  s8  ú€ ð œ*Ò$Üð !*Ü,6ñ!7ó 8ð 8àœ[Ò(Üð !/Ü1<ñ!=ó >ð >ô ¨Ô5ˆØ˜VÑ#ÜÐHÓIÐIä#°Ø)4Ø.<Ø+1ô3ˆð
	ØˆG�N‰N°Ð6 YÒ6ð Ð  ]Ð%:à×Ñ˜gÔ&ØàÐ Ü!ˆMØÐ Ü!ˆMö	Bð ×+Ñ+¨GÐ5FØ(/Ø:Kð ,ó Mð 	Møô5 ò 	Ü×ÑÔ!Ü�M‰Mð 1à 	¨1¯;©;¸ô;ð ûð	ús   Á%B9 Â9	C?Ã8C:Ã:C?c	                 ó  — |t         k(  rt        dt         z  «      ‚|t        k(  rt        dt        z  «      ‚t        |¬«      }
d|	v rt	        d«      ‚t        ||||¬«      }	  |j                  |d|iŽ | j                  ||«      } |j                  di |
¤Ž}t        |«      d
k(  ry	t        |«      dk(  r|d
   S t!        |«      S # t        $ r=}t        j                  «        t        j                  d|||j                  |«       ‚ d	}~ww xY w)zECall the given method, synchronously.
        :Since: 0.81.0
        rÇ   rÈ   rl   r1   r2   rÉ   rÍ   rÎ   Nr   rm   r   )r   r   r   rq   r8   r   r]   rÄ   ry   rz   r{   r|   rd   Ú!send_message_with_reply_and_blockrr   rs   r†   )r<   r–   r?   r@   rÌ   rÍ   r   rÙ   rC   r   rÓ   r}   rÚ   Úreply_messageÚ	args_lists                  r   Úcall_blockingzConnection.call_blockingY  s2  € ð œ*Ò$Üð !*Ü,6ñ!7ó 8ð 8àœ[Ò(Üð !/Ü1<ñ!=ó >ð >ô ¨Ô5ˆØ˜VÑ#ÜÐHÓIÐIä#°Ø)4Ø.<Ø+1ô3ˆð
	ØˆG�N‰N°Ð6 YÒ6ð ×>Ñ>Ø�Wóˆà/�M×/Ñ/Ñ@°-Ñ@ˆ	Üˆy‹>˜QÒØÜ�‹^˜qÒ Ø˜Q‘<Ðä˜Ó#Ð#øô! ò 	Ü×ÑÔ!Ü�M‰Mð 1à 	¨1¯;©;¸ô;ð ûð	ús   Á"C Ã	DÃ8DÄDc                 ó:   — | j                   j                  |«       y)z©Arrange for `callable` to be called with one argument (this
        Connection object) when the Connection becomes
        disconnected.

        :Since: 0.83.0
        N)rŽ   r]   )r<   Úcallables     r   Úcall_on_disconnectionz Connection.call_on_disconnection„  s   € ð 	×$Ñ$×+Ñ+¨HÕ5r   )NNT)NNNN)ç      ð¿FT)rä   F)r‚   rƒ   r„   Ú__doc__r   r¥   rL   r—   r¦   r´   r»   r€   r½   r”   rÛ   rà   rã   Ú__classcell__)rd   s   @r   r   r   ì   s|   ø„ ñð #ÐôAò&ó #<ðL /3Ø15Ø+/Ø'+ó	bòH ð< ,0Ø.2Ø(,Ø$(ó	9/òvò.ð@ .3Ø%)ó<Mð~ 04Ø"'ó)$öV6r   r   )!Ú__all__Ú__docformat__ry   r�   r6   Ú_dbus_bindingsr   Ú_Connectionr   r   r   r	   r
   r   Údbus.exceptionsr   Údbus.lowlevelr   r   r   r   r   Údbus.proxiesr   Údbus._compatr   r   r   Ú	getLoggerr{   r   Úobjectr   r   r   r   ú<module>rñ      s}   ðð2 (€Ø"€ã Û Û ÷I÷ Iñ Iõ *÷(õ (õ %ß 'å !ð ˆ'×
Ñ
Ð-Ó
.€ò	ôu<�&ô u<ôp_6�õ _6r   