CasperSecurity

Current Path : /lib/python3/dist-packages/dbus/__pycache__/
Upload File :
Current File : //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
��
+
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY