File: //lib64/python3.9/site-packages/dbus/__pycache__/proxies.cpython-39.opt-1.pyc
a
    �	z]�`  �                   @   s�   d dl Z zd dlmZ W n ey6   d dlmZ Y n0 d dlZd dlmZ d dlm	Z	m
Z
mZmZ dZ
e �d�Zd dlmZmZmZmZmZ d dlmZ G d	d
� d
�ZG dd� d�ZG d
d� de�ZG dd� de�ZdS )�    N)�RLock)�process_introspection_data)�
DBusException�IntrospectionParserException�MissingErrorHandlerException�MissingReplyHandlerExceptionZrestructuredtextzdbus.proxies)�BUS_DAEMON_IFACE�BUS_DAEMON_NAME�BUS_DAEMON_PATH�INTROSPECTABLE_IFACE�
LOCAL_PATH)�is_py2c                   @   s(   e Zd ZdZdd� Zdd� Zdd� ZdS )	�_DeferredMethodzXA proxy method which will only get called once we have its
    introspection reply.
    c                 C   s   || _ |j| _|| _|| _d S �N)�
_proxy_method�_method_name�_append�_block)�self�proxy_method�append�block� r   �2/usr/lib64/python3.9/site-packages/dbus/proxies.py�__init__8   s    z_DeferredMethod.__init__c                 O   sD   d|v s|� dd�r(| �| j||� d S | ��  | j|i |��S d S )N�
reply_handler�ignore_replyF)�getr   r   r   �r   �args�keywordsr   r   r   �__call__?   s    
�z_DeferredMethod.__call__c                 O   s   | � | j||� d S r   )r   r   r   r   r   r   �
call_asyncJ   s    z_DeferredMethod.call_asyncN��__name__�
__module__�__qualname__�__doc__r   r!   r"