Sindbad~EG File Manager
o
�/�aQ � @ s\ d Z dZdZdZddlZddlZddlZddlZddlZddl Z ddl
Z
ddlZddlm
Z
mZ ddlT ddlT ddlmZmZmZmZmZmZmZ dd lmZ dd
lmZ zLddlmZmZmZ ddl Zddl!m"Z" er�zdd
l#m$Z$m%Z%m&Z&m'Z'm(Z( W n! dd
l)m$Z$m%Z%m&Z&m'Z'm(Z( Y ndd
l*m$Z$m%Z%m&Z&m'Z'm(Z( dZ+W n e,y� e-�.d� dZ+e�/d� Y nw ddl0Z0e0�1de2� dZ3d\a4a5da6da7d\a8a9a:i Z;G dd� de<�Z=G dd� dej>j?�Z@dd� ZAdd� ZBdd� ZCd d!� ZDd"d#� ZEd$d%� ZFd&d'� ZGd:d(d)�ZHd*d+� ZId:d,d-�ZJd.d/� ZKd:d0d1�ZLd2d3� ZMd4d5� ZNd6d7� ZO dd8d9�ZPdS );z12.0z9Services and Status System Tray dBus Child/Parent Process�hpssdz�Provides persistent data and event services to HPLIP client applications. Required to be running for PC send fax, optional in all other cases.� N)�loads�HIGHEST_PROTOCOL)�*)�utils�device�status�models�module�services�os_utils)�PY3)�
to_bytes_utf8)�lowlevel� SystemBus�
SessionBus)�
DBusGMainLoop)�MainLoop�timeout_add�threads_init�io_add_watch�IO_INTzAdbus failed to load (python-dbus ver. 0.80+ required). Exiting...F� �ignorei )NN)NNNc @ s e Zd Zddd�ZdS )�DeviceCache� c C sB t �tj�| _t�|�| _i | _i | _ i | _
d| _d| _d| _
d S )Nr F)r �
RingBuffer�prop�history_size�historyr �normalizeModelName�model�cache�faxes�dq�backoff_counter�backoff_countdown�polling)�selfr! � r) �/usr/share/hplip/hpssd.py�__init__X s
zDeviceCache.__init__N)r )�__name__�
__module__�__qualname__r+ r) r) r) r* r W s r c @ s� e Zd Zdd� Zejjdddd�dd� �Zejjddd d�d
d� �Zejjddd
d�dd� �Z ejjddd
d�dd� �Z
ejjdddd�dd� �Zejjdddd�dd� �Zejjdddd�d#dd��Z
dd� Zejjdddd�d d!� �Zd"S )$�
StatusServicec C s t jj�| ||� d S �N)�dbus�service�Objectr+ )r( �name�object_pathr) r) r* r+ f � zStatusService.__init__�com.hplip.StatusService�szsa(ssisisd))�in_signature�
out_signaturec C s| t �d| � t� zt| W n
ty |g f Y S w t| j�� }t �dt|� � dd� |D � |dd� |D �fS )NzGetHistory('%s')z%d events in history:c S � g | ]}|� � �qS r) ��debug��.0�xr) r) r* �
<listcomp>v � z,StatusService.GetHistory.<locals>.<listcomp>c S r; r) )�as_tupler>