File: //usr/lib/python3.9/site-packages/tuned/plugins/__pycache__/repository.cpython-39.pyc
a
,�g� � @ s@ d dl mZ d dlZd dlZej�� ZdgZG dd� de�Z dS )� )�ClassLoaderN�
Repositoryc s@ e Zd Z� fdd�Zedd� �Zdd� Zdd� Zd d
� Z� Z S )r c sJ t t| ��� t� | _|| _|| _|| _|| _|| _ || _
|| _|| _d S �N)
�superr �__init__�set�_plugins�_monitor_repository�_storage_factory�_hardware_inventory�_device_matcher�_device_matcher_udev�_plugin_instance_factory�_global_cfg�
_variables) �selfZmonitor_repositoryZstorage_factoryZhardware_inventoryZdevice_matcherZdevice_matcher_udevZplugin_instance_factoryZ
global_cfgZ variables�� __class__� �</usr/lib/python3.9/site-packages/tuned/plugins/repository.pyr s zRepository.__init__c C s | j S r )r �r r r r �plugins s zRepository.pluginsc C s d| _ d| _tjjj| _d S )Nz
tuned.pluginsZplugin_)Z
_namespace�_prefix�tunedr �baseZPlugin�
_interfacer r r r �_set_loader_parameters s z!Repository._set_loader_parametersc C sN t �d| � | �|�}|| j| j| j| j| j| j| j | j
�}| j�|� |S )Nzcreating plugin %s)
�log�debugZ
load_classr r
r r r
r r r r �add)r Zplugin_nameZ
plugin_clsZplugin_instancer r r �create s
�zRepository.createc C s6 t || j�sJ �t�d| � |�� | j�|� d S )Nzremoving plugin %s)�
isinstancer r r Zcleanupr �remove)r Zpluginr r r �delete( s zRepository.delete)
�__name__�
__module__�__qualname__r �propertyr r r r# �
__classcell__r r r r r s
)
Ztuned.utils.class_loaderr Ztuned.plugins.baser Z
tuned.logsZlogs�getr �__all__r r r r r �<module> s