a ]i @ sP d dl Z d dlZd dlmZ dgZej ZG dd deZ G dd deZ dS ) N)consts Inventoryc @ s\ e Zd ZdZdddZdd Zdd Zd d Zdd Zdd Z dd Z dd ZdddZdS )r z Inventory object can handle information about available hardware devices. It also informs the plugins about related hardware events. NTc C s |d ur|| _ n t | _ |d u r(tj}|| j | _|d u rDtj}|rvz| j| W n t yt t d Y n0 |d u rt }|| _ d | _i | _d S )Nzcannot set udev monitor receive buffer size, we are probably running inside container or with limited capabilites, TuneD functionality may be limited) _udev_contextpyudevZContextZMonitorZfrom_netlink _udev_monitorr ZCFG_DEF_UDEV_BUFFER_SIZEset_receive_buffer_sizeEnvironmentErrorlogZwarning_MonitorObserverFactory_monitor_observer_factory_monitor_observer_subscriptions)selfZudev_contextZudev_monitor_clsZmonitor_observer_factoryZbuffer_sizer r