ó
æ”\c           @   sZ   d  d l  m Z d  d l Z d  d l Z e j j ƒ  Z d g Z d e f d „  ƒ  YZ	 d S(   iÿÿÿÿ(   t   PluginLoaderNt
   Repositoryc           B   s;   e  Z d  „  Z e d „  ƒ Z d „  Z d „  Z d „  Z RS(   c	   	      C   sk   t  t |  ƒ j ƒ  t ƒ  |  _ | |  _ | |  _ | |  _ | |  _ | |  _	 | |  _
 | |  _ | |  _ d  S(   N(   t   superR   t   __init__t   sett   _pluginst   _monitor_repositoryt   _storage_factoryt   _hardware_inventoryt   _device_matchert   _device_matcher_udevt   _plugin_instance_factoryt   _global_cfgt
   _variables(	   t   selft   monitor_repositoryt   storage_factoryt   hardware_inventoryt   device_matchert   device_matcher_udevt   plugin_instance_factoryt
   global_cfgt	   variables(    (    s<   /usr/lib/python2.7/site-packages/tuned/plugins/repository.pyR      s    							c         C   s   |  j  S(   N(   R   (   R   (    (    s<   /usr/lib/python2.7/site-packages/tuned/plugins/repository.pyt   plugins   s    c         C   s(   d |  _  d |  _ t j j j |  _ d  S(   Ns   tuned.pluginst   plugin_(   t
   _namespacet   _prefixt   tunedR   t   baset   Plugint
   _interface(   R   (    (    s<   /usr/lib/python2.7/site-packages/tuned/plugins/repository.pyt   _set_loader_parameters   s    		c      	   C   sm   t  j d | ƒ |  j | ƒ } | |  j |  j |  j |  j |  j |  j |  j	 |  j
 ƒ } |  j j | ƒ | S(   Ns   creating plugin %s(   t   logt   debugt   load_pluginR   R   R   R	   R
   R   R   R   R   t   add(   R   t   plugin_namet
   plugin_clst   plugin_instance(    (    s<   /usr/lib/python2.7/site-packages/tuned/plugins/repository.pyt   create    s    c         C   sG   t  | |  j ƒ s t ‚ t j d | ƒ | j ƒ  |  j j | ƒ d  S(   Ns   removing plugin %s(   t
   isinstanceR   t   AssertionErrorR    R!   t   cleanupR   t   remove(   R   t   plugin(    (    s<   /usr/lib/python2.7/site-packages/tuned/plugins/repository.pyt   delete(   s    
(   t   __name__t
   __module__R   t   propertyR   R   R'   R-   (    (    (    s<   /usr/lib/python2.7/site-packages/tuned/plugins/repository.pyR   	   s
   			(
   t   tuned.utils.plugin_loaderR    t   tuned.plugins.baseR   t
   tuned.logst   logst   getR    t   __all__R   (    (    (    s<   /usr/lib/python2.7/site-packages/tuned/plugins/repository.pyt   <module>   s
   	