Mini Shell
3
��^' � @ s� d dl mZmZ d dlmZ d dlmZ d dlmZ d dl m
Z
dddd d
gZdd� Zd
d � Z
dd
� ZG dd� ded�ZG dd� de�ZG dd� de�ZdS )� )�ABCMeta�abstractmethod)�Lock)�ClientObjectHandler)�
PropertyProxy)�DBusSpecificationError�AbstractObjectProxy�ObjectProxy�InterfaceProxy�get_object_path�disconnect_proxyc C s( t | t�stdjt| �j���t| d�S )zoGet an object handler of the DBus proxy.
:param proxy: a DBus proxy
:return: a DBus proxy handler
zInvalid type '{}'.�_handler)�
isinstancer � TypeError�format�type�__name__�getattr)�proxy� r �/usr/lib/python3.6/proxy.py�get_object_handler% s
r c C s t | �}|jS )zkGet an object path of the remote DBus object.
:param proxy: a DBus proxy
:return: a DBus path
)r �object_path)r �handlerr r r r 1 s c C s t | �}|j� dS )zVDisconnect the DBus proxy from the remote object.
:param proxy: a DBus proxy
N)r Zdisconnect_members)r r r r r r ; s c sb e Zd ZdZddddgZe�Zefdd�Zedd � �Z d
d� Z
dd
� Zdd� Z� fdd�Z
� ZS )r z'Abstract proxy of a remote DBus object.r
�_members�_lock�__weakref__c K s&