3 ָVX � @ s� d dl mZ ddlmZ ddlmZ ddlmZmZ ddl m Z ddlmZ ddl mZ d d � Zee�ej_dd� Zd d� ZG dd� deeeee ee� Zdd� Zdd� ZdS )� )�Gio� )� ProxyMixin)�RequestNameMixin)�OwnMixin� WatchMixin)�SubscriptionMixin)�RegistrationMixin)�PublicationMixinc C s, y| j S tk r& t| �| _ | j S X d S )N)Z_pydbus�AttributeError�Bus)�self� r �/usr/lib/python3.6/bus.py�pydbus_property s r c C s t j| d �jS )N)r Zbus_get_sync�pydbus)�typer r r �bus_get s r c C s, t jj| t jjt jjB d d �}d|j_|jS )NT)r �DBusConnectionZnew_for_address_syncZDBusConnectionFlagsZAUTHENTICATION_CLIENTZMESSAGE_BUS_CONNECTIONr � autoclose)Zaddress�cr r r �connect s r c @ sB e Zd ZejZdd� Zdd� Zdd� Ze dd� �Z e d d � �ZdS )r c C s || _ d| _d S )NF)�conr )r Zgio_conr r r �__init__ s zBus.__init__c C s | S )Nr )r r r r � __enter__! s z Bus.__enter__c C s | j r| jjd � d S )N)r r Z close_sync)r �exc_type� exc_value� tracebackr r r �__exit__$ s zBus.__exit__c C s2 y| j S tk r, | jd�d | _ | j S X d S )Nz.DBus� )Z_dbusr �get)r r r r �dbus( s zBus.dbusc C s4 y| j S tk r. | jdd�d | _ | j S X d S )Nz.PolicyKit1Z Authorityr )Z_polkit_authorityr r )r r r r �polkit_authority0 s zBus.polkit_authorityN)�__name__� __module__�__qualname__r ZBusType�Typer r r �propertyr! r"