%PDF- %PDF-
Direktori : /snap/core20/2582/usr/lib/python3/dist-packages/pyudev/__pycache__/ |
Current File : //snap/core20/2582/usr/lib/python3/dist-packages/pyudev/__pycache__/glib.cpython-38.pyc |
U u1�W� � @ s| d Z ddlmZmZmZmZ ddlZddlZG dd� de�Z G dd� dej e �Ze�e� G dd � d ej e �Z e�e � dS ) a� pyudev.glib =========== Glib integration. :class:`MonitorObserver` integrates device monitoring into the Glib mainloop by turing device events into Glib signals. :mod:`glib` and :mod:`gobject` from PyGObject_ must be available when importing this module. PyGtk is not required. .. _PyGObject: http://www.pygtk.org/ .. moduleauthor:: Sebastian Wiesner <lunaryorn@gmail.com> .. versionadded:: 0.7 � )�print_function�division�unicode_literals�absolute_importNc @ sB e Zd ZdZdd� Zedd� �Zejdd� �Zdd� Zd d � Z dS )�_ObserverMixinz>Mixin to provide observer behavior to the old and the new API.c C s || _ d | _d| _d S )NT)�monitor�event_source�enabled��selfr � r �-/usr/lib/python3/dist-packages/pyudev/glib.py�_setup_observer2 s z_ObserverMixin._setup_observerc C s | j dk S )z� 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. .. versionadded:: 0.14 N)r )r r r r r 8 s z_ObserverMixin.enabledc C sD |r&| j d kr&t�| jtj| j�| _ n|s@| j d k r@t�| j � d S �N)r �glibZio_add_watchr �IO_IN�_process_udev_eventZ source_remove)r �valuer r r r D s �c C s. |t jkr*| jjdd�}|d k r*| �|� dS )Nr )ZtimeoutT)r r r Zpoll�_emit_event)r �sourceZ condition�devicer r r r M s z"_ObserverMixin._process_udev_eventc C s | � d|� d S �N�device-event)�emit)r r r r r r U s z_ObserverMixin._emit_eventN) �__name__� __module__�__qualname__�__doc__r �propertyr �setterr r r r r r r . s r c @ s2 e Zd ZdZed�ejejejffiZ dd� Z dS )�MonitorObservera� An observer for device events integrating into the :mod:`glib` mainloop. This class inherits :class:`~gobject.GObject` to turn device events into glib signals. >>> from pyudev import Context, Monitor >>> from pyudev.glib import MonitorObserver >>> context = Context() >>> monitor = Monitor.from_netlink(context) >>> monitor.filter_by(subsystem='input') >>> observer = MonitorObserver(monitor) >>> def device_event(observer, device): ... print('event {0} on device {1}'.format(device.action, device)) >>> observer.connect('device-event', device_event) >>> monitor.start() This class is a child of :class:`gobject.GObject`. r c C s t j�| � | �|� d S r )�gobject�GObject�__init__r r r r r r# y s zMonitorObserver.__init__N)r r r r �strr! �SIGNAL_RUN_LAST� TYPE_NONE� TYPE_PYOBJECT�__gsignals__r# r r r r r Y s ��r c @ s� e Zd ZdZddddd�Zed�ejejej ej ffed�ejejej ffed�ejejej ffed�ejejej ffed�ejejej ffiZdd � Zd d� Z dS ) �GUDevMonitorObserverz� An observer for device events integrating into the :mod:`glib` mainloop. .. deprecated:: 0.17 Will be removed in 1.0. Use :class:`MonitorObserver` instead. zdevice-addedzdevice-removedzdevice-changedzdevice-moved)�add�removeZchangeZmover c C s. t j�| � | �|� dd l}|�dt� d S )Nr z@Will be removed in 1.0. Use pyudev.glib.MonitorObserver instead.)r! r"