File: //proc/10488/root/lib/python3.9/site-packages/pyudev/__pycache__/_qt_base.cpython-39.pyc
a
8g+^� � @ 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| �| _| jjt �| j� d S �N)�monitor�filenoZRead�notifierZ activated�intZconnect�_process_udev_event)�selfr �notifier_class� r �3/usr/lib/python3.9/site-packages/pyudev/_qt_base.py�_setup_notifier+ s
�z$MonitorObserverMixin._setup_notifierc C s
| 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 �|� d S r )r Z
setEnabled)r �valuer r r r ? s c C s$ | j jdd�}|dur | �|� 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 )�timeoutN)r Zpoll�_emit_event�r �devicer r r r
C s z(MonitorObserverMixin._process_udev_eventc C s | j �|� d S r )�deviceEvent�emitr 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>