3
u1�Wk � @ s� d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlZddlmZ G dd � d e �Z
G d
d� de
�Zdd
� ZG dd� de �Z
G dd� de �ZdS )z�
pyudev._qt_base
===============
Base mixin class for Qt4,Qt5 support.
.. moduleauthor:: Sebastian Wiesner <lunaryorn@gmail.com>
� )�absolute_import)�division)�print_function)�unicode_literalsN)�Devicec @ sB e Zd ZdZdd� Zedd� �Zejdd� �Zdd� Zd d
� Z dS )�MonitorObserverMixinz0
Base mixin for pyqt monitor observers.
c C s2 || _ ||j� |j| �| _| jjt j| j� d S )N)�monitor�filenoZRead�notifierZ activated�intZconnect�_process_udev_event)�selfr �notifier_class� r �/usr/lib/python3.6/_qt_base.py�_setup_notifier+ s z$MonitorObserverMixin._setup_notifierc C s
| j j� S )aY
Whether this observer is enabled or not.
If ``True`` (the default), this observer is enabled, and emits events.
Otherwise it is disabled and does not emit any events. This merely
reflects the state of the ``enabled`` property of the underlying
:attr:`notifier`.
.. versionadded:: 0.14
)r
Z isEnabled)r
r r r �enabled1 s zMonitorObserverMixin.enabledc C s | j j|� d S )N)r
Z
setEnabled)r
�valuer r r r ? s c C s$ | j jdd�}|dk r | j|� dS )z�
Attempt to receive a single device event from the monitor, process
the event and emit corresponding signals.
Called by ``QSocketNotifier``, if data is available on the udev
monitoring socket.
r )ZtimeoutN)r Zpoll�_emit_event)r
�devicer r r r C s z(MonitorObserverMixin._process_udev_eventc C s | j j|� d S )N)�deviceEvent�emit)r
r r r r r O s z MonitorObserverMixin._emit_eventN)
�__name__�
__module__�__qualname__�__doc__r �propertyr �setterr r r r r r r % s r c @ s e Zd ZdZdd� Zdd� ZdS )�QUDevMonitorObserverMixinz*
Obsolete monitor observer mixin.
c C s>