3 À<×eúã@s@ddlmZddlZddlZejjƒZdgZGdd„deƒZ dS)é)Ú PluginLoaderNÚ Repositorycs@eZdZ‡fdd„Zedd„ƒZdd„Zdd„Zd d „Z‡Z S) rc sJtt|ƒjƒtƒ|_||_||_||_||_||_ ||_ ||_ ||_ dS)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_cfgÚ variables)Ú __class__©ú /usr/lib/python3.6/repository.pyr szRepository.__init__cCs|jS)N)r)rrrrÚpluginsszRepository.pluginscCsd|_d|_tjjj|_dS)Nz tuned.pluginsZplugin_)Z _namespaceÚ_prefixÚtunedrÚbaseZPluginZ _interface)rrrrÚ_set_loader_parameterssz!Repository._set_loader_parametersc CsNtjd|ƒ|j|ƒ}||j|j|j|j|j|j|j |j ƒ}|j j |ƒ|S)Nzcreating plugin %s) ÚlogÚdebugZ load_pluginrr r r r r rrrÚadd)rZ plugin_nameZ plugin_clsZplugin_instancerrrÚcreate s   zRepository.createcCs&tjd|ƒ|jƒ|jj|ƒdS)Nzremoving plugin %s)rrZcleanuprÚremove)rZpluginrrrÚdelete(szRepository.delete) Ú__name__Ú __module__Ú __qualname__rÚpropertyrrrrÚ __classcell__rr)rrr s  ) Ztuned.utils.plugin_loaderrZtuned.plugins.baserZ tuned.logsZlogsÚgetrÚ__all__rrrrrÚs