File: //lib/python3.9/site-packages/tuned/admin/__pycache__/dbus_controller.cpython-39.pyc
a
,�gW � @ sZ d dl Z d dlZ d dlZd dlmZ d dlmZmZ ddlm Z dgZ
G dd� de�ZdS )� N)�
DBusGMainLoop)�GLib�GObject� )�TunedAdminDBusException�DBusControllerc @ s e Zd ZdCdd�Zdd� Zdd� Zdd � Zd
d� Zdd
� Zdd� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zd.d/� Zd0d1� Zd2d3� Zd4d5� Zd6d7� Zd8d9� Zd:d;� Zd<d=� Z d>d?� Z!d@dA� Z"dBS )Dr Fc C sL || _ || _|| _d | _d | _|| _d | _d | _d | _d| _ d| _
d | _d S )NTF)� _bus_name�_interface_name�_object_name�_proxy�
_interface�_debug�
_main_loop�_action�_on_exit_action�_ret�_exit�
_exception)�selfZbus_nameZinterface_nameZobject_name�debug� r �?/usr/lib/python3.9/site-packages/tuned/admin/dbus_controller.py�__init__ s zDBusController.__init__c C st zP| j d u rNtdd� t�� | _t�� }|�| j| j �| _ tj
| j | jd�| _W n tj
jyn td��Y n0 d S )NT)Zset_as_default)Zdbus_interfacez>Cannot talk to TuneD daemon via DBus. Is TuneD daemon running?)r r r ZMainLoopr �dbusZ SystemBusZ
get_objectr r
Z Interfacer r �
exceptions�
DBusExceptionr )r Zbusr r r �_init_proxy s
zDBusController._init_proxyc
C s� | j d urVz| j | ji | j��| _W n0 tyT } z|| _d| _W Y d }~n
d }~0 0 | jr�| jd urz| j| ji | j �� | j
�� dS t�
d� dS )NTFr )r �_action_args�_action_kwargsZ_action_exit_coder r r r �_on_exit_action_args�_on_exit_action_kwargsr �quit�time�sleep)r �er r r �_idle$ s
�
zDBusController._idlec O s || _ || _|| _d S �N)r r r �r �action�args�kwargsr r r �set_on_exit_action7 s z!DBusController.set_on_exit_actionc O s || _ || _|| _d S r&