3 ָVX@ � @ s0 d dl mZ G dd� de�ZG dd� de�ZdS )� )�bound_signalc @ s4 e Zd Zdd� Zdd� Zdd� Zdd� Zd d � ZdS )�ProxySignalc C sN || _ |jd | _| j d | j | _dd� |D �| _ddj| j� d | _d S )N�name�.c S s g | ]}|j d kr|jd �qS )�arg�type)�tag�attrib)�.0r � r �"/usr/lib/python3.6/proxy_signal.py� <listcomp> s z(ProxySignal.__init__.<locals>.<listcomp>zSignal. Callback: (z, �))�_iface_namer �__name__�__qualname__�_args�join�__doc__)�selfZ iface_name�signalr r r �__init__ s zProxySignal.__init__c s* � fdd�}|j j|j|j| j| j|d�S )zSubscribe to the signal.c s � |� d S )Nr )�sender�object�ifacer Zparams)�callbackr r �signal_fired s z)ProxySignal.connect.<locals>.signal_fired)r r r r r )Z_busZ subscribeZ _bus_name�_pathr r )r r r r r )r r �connect s zProxySignal.connectc C s |d kr| S t | |�S )N)r )r �instance�ownerr r r �__get__ s zProxySignal.__get__c C s t d��d S )Nzcan't set attribute)�AttributeError)r r �valuer r r �__set__ s zProxySignal.__set__c C s d| j d tt| �d� d S )Nz<signal z at 0x�x�>)r �format�id)r r r r �__repr__ s zProxySignal.__repr__N)r � __module__r r r r! r$ r) r r r r r s r c @ s, e Zd Zdd� Zdd� Zdd� Zdd� Zd S ) �OnSignalc C s>