File: //snap/core22/current/usr/lib/python3/dist-packages/pyudev/__pycache__/core.cpython-310.pyc
o
g-`G4 � @ s� d Z ddlmZmZmZmZ ddlmZ ddlm Z ddl
mZ ddl
mZ ddl
mZ ddlmZ dd lmZ dd
lmZ ddlmZ G dd
� d
e�ZG dd� de�ZdS )z�
pyudev.core
===========
Core types and functions of :mod:`pyudev`.
.. moduleauthor:: Sebastian Wiesner <lunaryorn@gmail.com>
� )�print_function�division�unicode_literals�absolute_import)�Devices)�DeviceNotFoundAtPathError)�ERROR_CHECKERS)�
SIGNATURES)�load_ctypes_library)�ensure_byte_string)�ensure_unicode_string)�property_value_to_bytes)�udev_list_iteratec @ sf e Zd ZdZdd� Zdd� Zedd� �Zedd � �Zed
d� �Z edd
� �Z
e
jdd
� �Z
dd� ZdS )�Contexta
A device database connection.
This class represents a connection to the udev device database, and is
really *the* central object to access udev. You need an instance of this
class for almost anything else in pyudev.
This class itself gives access to various udev configuration data (e.g.
:attr:`sys_path`, :attr:`device_path`), and provides device enumeration
(:meth:`list_devices()`).
Instances of this class can directly be given as ``udev *`` to functions
wrapped through :mod:`ctypes`.
c C s t dtt�| _| j�� | _dS )z'
Create a new context.
zlibudev.so.1N)r
r r �_libudev�udev_new�_as_parameter_��self� r �-/usr/lib/python3/dist-packages/pyudev/core.py�__init__9 s zContext.__init__c C � | j �| � d S �N)r �
udev_unrefr r r r �__del__@ � zContext.__del__c C � t | jd�rt| j�| ��S dS )zV
The ``sysfs`` mount point defaulting to ``/sys'`` as unicode string.
�udev_get_sys_pathz/sys)�hasattrr r r r r r r �sys_pathC � zContext.sys_pathc C r )zU
The device directory path defaulting to ``/dev`` as unicode string.
�udev_get_dev_pathz/dev)r r r r"