%PDF- %PDF-
Direktori : /snap/core22/current/usr/lib/python3/dist-packages/pyudev/__pycache__/ |
Current File : //snap/core22/current/usr/lib/python3/dist-packages/pyudev/__pycache__/glib.cpython-310.pyc |
o g-` � @ s| d Z ddlmZmZmZmZ ddlmZmZ G dd� de �Z G dd� deje �Ze� e� G dd � d eje �Ze� e� d S )a� pyudev.glib =========== Glib integration. :class:`MonitorObserver` integrates device monitoring into the Glib mainloop by turing device events into Glib signals. :mod:`gi.repository.GLib` and :mod:`gi.repository.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_import)�GLib�GObjectc @ 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_observer. s z_ObserverMixin._setup_observerc C s | j duS )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 4 s z_ObserverMixin.enabledc C sN |r| j d u rt�| jtj| j�| _ d S |s#| j d ur%t�| j � d S d S d S �N)r r �io_add_watchr �IO_IN�_process_udev_event� source_remove)r �valuer r r r @ s ��c C s. |t jkr| jjdd�}|d ur| �|� dS )Nr )�timeoutT)r r r �poll�_emit_event)r �source� condition�devicer r r r K s z"_ObserverMixin._process_udev_eventc C s | � d|� d S �N�device-event)�emit)r r r r r r T 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:`gi.repository.GLib` mainloop. This class inherits :class:`~gi.repository.GObject.Object` 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:`gi.repository.GObject.Object`. r c C s t j�| � | �|� d S r )r �Object�__init__r r r r r r( z s zMonitorObserver.__init__N)r r! r"