%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /snap/core22/current/usr/lib/python3/dist-packages/dbus/__pycache__/
Upload File :
Create Path :
Current File : //snap/core22/current/usr/lib/python3/dist-packages/dbus/__pycache__/bus.cpython-310.pyc

o

�t3b(F�@s�dZdZddlZddlZddlmZmZmZmZm	Z	m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZddlmZddlmZddl m!Z!ddl"m#Z#d	eeefZ$	d
Z%e�&d�Z'Gdd
�d
e(�Z)Gdd�de�Z*dS))�
BusConnection�reStructuredText�N)�BUS_DAEMON_IFACE�BUS_DAEMON_NAME�BUS_DAEMON_PATH�BUS_SESSION�BUS_STARTER�
BUS_SYSTEM� DBUS_START_REPLY_ALREADY_RUNNING�DBUS_START_REPLY_SUCCESS�NAME_FLAG_ALLOW_REPLACEMENT�NAME_FLAG_DO_NOT_QUEUE�NAME_FLAG_REPLACE_EXISTING�RELEASE_NAME_REPLY_NON_EXISTENT�RELEASE_NAME_REPLY_NOT_OWNER�RELEASE_NAME_REPLY_RELEASED� REQUEST_NAME_REPLY_ALREADY_OWNER�REQUEST_NAME_REPLY_EXISTS�REQUEST_NAME_REPLY_IN_QUEUE� REQUEST_NAME_REPLY_PRIMARY_OWNER�validate_bus_name�validate_error_name�validate_interface_name�validate_member_name�validate_object_path)�
Connection)�
DBusException)�HANDLER_RESULT_NOT_YET_HANDLED)�is_py2zWtype='signal',sender='%s',interface='%s',member='NameOwnerChanged',path='%s',arg0='%%s'z)org.freedesktop.DBus.Error.NameHasNoOwnerzdbus.busc@s eZdZdZdd�Zdd�ZdS)�NameOwnerWatch)�_match�
_pending_callc	srt���fdd�}��fdd�}|j|dttt�d�|_i}tr%d|d<|jtttd	d
�f�|fi|��|_dS)Ncs�|�dS�N�)�owned�	old_owner�	new_owner)�callbackr#�*/usr/lib/python3/dist-packages/dbus/bus.py�	signal_cbBsz*NameOwnerWatch.__init__.<locals>.signal_cbcs<|��tkr�d�dSt��tjd�|j|dfd�dS)N�zGetNameOwner(%s) failed:)�exc_info)�
get_dbus_name�_NAME_HAS_NO_OWNER�logging�basicConfig�_logger�debug�	__class__)�e��bus_namer'r#r(�error_cbEs

�z)NameOwnerWatch.__init__.<locals>.error_cb�NameOwnerChanged)�arg0T�utf8_strings�GetNameOwner�s)	r�add_signal_receiverrrrr r�
call_asyncr!)�self�bus_connr5r'r)r6�keywordsr#r4r(�__init__?s,���zNameOwnerWatch.__init__cCs8|jdur
|j��|jdur|j��d|_d|_dSr")r �remover!�cancel)r>r#r#r(rC^s




zNameOwnerWatch.cancelN)�__name__�
__module__�__qualname__�	__slots__rArCr#r#r#r(r<srcs�eZdZdZeZ	eZ	eZ		e
ZeZ
edfdd�Z			d*�fdd�	Zdd�Zd	d
�Z		d+d
d�Zdd�Zd,dd�Zd,dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Z�Z S)-rzxA connection to a D-Bus daemon that implements the
    ``org.freedesktop.DBus`` pseudo-service.

    :Since: 0.81.0
    NcCs$|j||d�}t��|_i|_	|S)N)�mainloop)�_new_for_bus�weakref�WeakValueDictionary�
_bus_names�_signal_sender_matches)�cls�address_or_typerH�busr#r#r(�__new__{s

zBusConnection.__new__cs�|�dd�}|dur!|durtd��|}ddlm}|dtdd�tt|�j|||||fi|���|durV|tkrV|dd�d	krH�fd
d�}	n�j	}	|�
||	�}
|
|j�<|�t
����S)N�
named_service�3bus_name and named_service cannot both be specifiedr��warnzrPassing the named_service parameter to add_signal_receiver by name is deprecated: please use positional parameters���
stacklevel��:cs|dkr
���dSdS)Nr*)rB)r&��matchr#r(r'�s�z3BusConnection.add_signal_receiver.<locals>.callback)�pop�	TypeError�warningsrU�DeprecationWarning�superrr<r�set_sender_name_owner�watch_name_ownerrM�add_match_string�str)r>�handler_function�signal_name�dbus_interfacer5�pathr@rRrUr'�watch�r2r[r(r<�s.�
��
z!BusConnection.add_signal_receivercCs4|�t|��|j�|d�}|dur|��dSdSr")� remove_match_string_non_blockingrerMr]rC)r>r\rjr#r#r(�_clean_up_signal_match�s
�z$BusConnection._clean_up_signal_matchc
Csx|dur:|dd�dkr:|tkr:z|�|�WSty9}z|��tkr%�|�|�|�|�WYd}~Sd}~ww|S)NrYrZ)r�get_name_ownerrr,r-�start_service_by_name)r>r5r3r#r#r(�activate_name_owner�s
��z!BusConnection.activate_name_ownerTFcKs||r|��|�dd�}|dur'|durtd��ddlm}|dtdd�|}|r4td	d
�|�����|j|||||d�S)aJReturn 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
            `follow_name_owner_changes` : bool
                If the object path is a well-known name and this parameter
                is false (default), resolve the well-known name to the unique
                name of its current owner and bind to that instead; if the
                ownership of the well-known name changes in future,
                keep communicating with the original owner.
                This is necessary if the D-Bus API used is stateful.

                If the object path is a well-known name and this parameter
                is true, whenever the well-known name changes ownership in
                future, bind to the new owner, if any.

                If the given object path is a unique name, this parameter
                has no effect.

        :Returns: a `dbus.proxies.ProxyObject`
        :Raises `DBusException`: if resolving the well-known name to a
            unique name fails
        rRNrSrrTziPassing the named_service parameter to get_object by name is deprecated: please use positional parametersrVrWz4get_object does not take these keyword arguments: %sz, )�
introspect�follow_name_owner_changes)	�_require_main_loopr]r^r_rUr`�join�keys�ProxyObjectClass)r>r5�object_pathrqrr�kwargsrRrUr#r#r(�
get_object�s&$��
�zBusConnection.get_objectcCst|�|�tttdd|f�S)z�Get the numeric uid of the process owning the given bus name.

        :Parameters:
            `bus_name` : str
                A bus name, either unique or well-known
        :Returns: a `dbus.UInt32`
        :Since: 0.80.0
        �GetConnectionUnixUserr;�r�
call_blockingrrr�r>r5r#r#r(�
get_unix_user�s
	�zBusConnection.get_unix_userrc
Cs$t|�d|�tttdd||f�fS)a?Start a service which will implement the given bus name on this Bus.

        :Parameters:
            `bus_name` : str
                The well-known bus name to be activated.
            `flags` : dbus.UInt32
                Flags to pass to StartServiceByName (currently none are
                defined)

        :Returns: A tuple of 2 elements. The first is always True, the
            second is either START_REPLY_SUCCESS or
            START_REPLY_ALREADY_RUNNING.

        :Raises `DBusException`: if the service could not be started.
        :Since: 0.80.0
        T�StartServiceByName�sur{)r>r5�flagsr#r#r(ros
�z#BusConnection.start_service_by_namec	Cs$t|dd�|�tttdd||f�S)a�Request a bus name.

        :Parameters:
            `name` : str
                The well-known name to be requested
            `flags` : dbus.UInt32
                A bitwise-OR of 0 or more of the flags
                `NAME_FLAG_ALLOW_REPLACEMENT`,
                `NAME_FLAG_REPLACE_EXISTING`
                and `NAME_FLAG_DO_NOT_QUEUE`
        :Returns: `REQUEST_NAME_REPLY_PRIMARY_OWNER`,
            `REQUEST_NAME_REPLY_IN_QUEUE`,
            `REQUEST_NAME_REPLY_EXISTS` or
            `REQUEST_NAME_REPLY_ALREADY_OWNER`
        :Raises `DBusException`: if the bus daemon cannot be contacted or
            returns an error.
        F��allow_unique�RequestNamer�r{)r>�namer�r#r#r(�request_names
�zBusConnection.request_namecCs"t|dd�|�tttdd|f�S)asRelease a bus name.

        :Parameters:
            `name` : str
                The well-known name to be released
        :Returns: `RELEASE_NAME_REPLY_RELEASED`,
            `RELEASE_NAME_REPLY_NON_EXISTENT`
            or `RELEASE_NAME_REPLY_NOT_OWNER`
        :Raises `DBusException`: if the bus daemon cannot be contacted or
            returns an error.
        Fr��ReleaseNamer;r{)r>r�r#r#r(�release_name3s
�zBusConnection.release_namecC�,i}trd|d<|jtttdddfi|��S)z�Return a list of all currently-owned names on the bus.

        :Returns: a dbus.Array of dbus.UTF8String
        :Since: 0.81.0
        Tr9�	ListNamesr*r#�rr|rrr�r>r@r#r#r(�
list_namesD���zBusConnection.list_namescCr�)z�Return a list of all names that can be activated on the bus.

        :Returns: a dbus.Array of dbus.UTF8String
        :Since: 0.81.0
        Tr9�ListActivatableNamesr*r#r�r�r#r#r(�list_activatable_namesQr�z$BusConnection.list_activatable_namescCs:i}trd|d<t|dd�|jtttdd|ffi|��S)z�Return the unique connection name of the primary owner of the
        given name.

        :Raises `DBusException`: if the `bus_name` has no owner
        :Since: 0.81.0
        Tr9Fr�r:r;)rrr|rrr)r>r5r@r#r#r(rn^s��zBusConnection.get_name_ownercCst|||�S)aWatch the unique connection name of the primary owner of the
        given name.

        `callback` will be called with one argument, which is either the
        unique connection name, or the empty string (meaning the name is
        not owned).

        :Since: 0.81.0
        )r)r>r5r'r#r#r(rcms
zBusConnection.watch_name_ownerc	Cst|�tttdd|f��S)z�Return True iff the given bus name has an owner on this bus.

        :Parameters:
            `bus_name` : str
                The bus name to look up
        :Returns: a `bool`
        �NameHasOwnerr;)�boolr|rrrr}r#r#r(�name_has_ownerys
�zBusConnection.name_has_ownercC�|�tttdd|f�dS)�Arrange for this application to receive messages on the bus that
        match the given rule. This version will block.

        :Parameters:
            `rule` : str
                The match rule
        :Raises `DBusException`: on error.
        :Since: 0.80.0
        �AddMatchr;N�r|rrr�r>�ruler#r#r(rd��

�zBusConnection.add_match_stringc
C�|�tttdd|fdd�dS)�=Arrange for this application to receive messages on the bus that
        match the given rule. This version will not block, but any errors
        will be ignored.


        :Parameters:
            `rule` : str
                The match rule
        :Raises `DBusException`: on error.
        :Since: 0.80.0
        r�r;N�r=rrrr�r#r#r(�add_match_string_non_blocking��
�z+BusConnection.add_match_string_non_blockingcCr�)r��RemoveMatchr;Nr�r�r#r#r(�remove_match_string�r�z!BusConnection.remove_match_stringc
Cr�)r�r�r;Nr�r�r#r#r(rl�r�z.BusConnection.remove_match_string_non_blocking)NNNN)TF)r)!rDrErF�__doc__r�TYPE_SESSIONr	�TYPE_SYSTEMr�TYPE_STARTERr�START_REPLY_SUCCESSr
�START_REPLY_ALREADY_RUNNINGrQr<rmrpryr~ror�r�r�r�rnrcr�rdr�r�rl�
__classcell__r#r#rkr(rgsB� 
�9




r)+�__all__�
__docformat__r.rJ�_dbus_bindingsrrrrrr	r
rrr
rrrrrrrrrrrrr�dbus.connectionr�dbus.exceptionsr�
dbus.lowlevelr�dbus._compatr�_NAME_OWNER_CHANGE_MATCHr-�	getLoggerr0�objectrrr#r#r#r(�<module>s&d
��
+

Zerion Mini Shell 1.0