%PDF- %PDF-
| Direktori : /lib/python3/dist-packages/pyudev/__pycache__/ | 
| Current File : //lib/python3/dist-packages/pyudev/__pycache__/glib.cpython-312.pyc | 
�
    9*�b  �                   ��   � d Z ddlmZmZ  G d� de�      Z G d� dej                  e�      Z ej                  e�        G d� dej                  e�      Z	 ej                  e	�       y	)
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
�    )�GLib�GObjectc                   �V   � e Zd ZdZd� Zed� �       Zej                  d� �       Zd� Zd� Z	y)�_ObserverMixinz>Mixin to provide observer behavior to the old and the new API.c                 �.   � || _         d | _        d| _        y )NT)�monitor�event_source�enabled��selfr   s     �-/usr/lib/python3/dist-packages/pyudev/glib.py�_setup_observerz_ObserverMixin._setup_observer,   s   � ���� ������    c                 �   � | 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   s    r
   r
   z_ObserverMixin.enabled2   s   � � � � ��,�,r   c                 �   � |rK| j                   �?t        j                  | j                  t        j                  | j
                  �      | _         y |s-| j                   � t        j                  | j                   �       y y y �N)r	   r   �io_add_watchr   �IO_IN�_process_udev_event�
source_remove)r   �values     r
   r
   z_ObserverMixin.enabled>