ó
½-'Nc           @   s<   d  Z  d d l Z d d l m Z d e f d „  ƒ  YZ d S(   s$   The Landscape monitor plugin system.iÿÿÿÿN(   t   BrokerClientt   Monitorc           B   s5   e  Z d  Z d Z d d d „ Z d „  Z d „  Z RS(	   s:   The central point of integration in the Landscape monitor.t   monitori   i<   c         C   s—   t  t |  ƒ j | ƒ | |  _ | |  _ | |  _ | |  _ | re t j j	 | ƒ re |  j j
 | ƒ n  g  |  _ | |  _ |  j j |  j j |  j ƒ d  S(   N(   t   superR   t   __init__t   reactort   configt   persistt   persist_filenamet   ost   patht   existst   loadt   _pluginst	   step_sizet
   call_everyt   flush_intervalt   flush(   t   selfR   R   R   R   R   (    (    s=   /usr/lib/python2.7/dist-packages/landscape/monitor/monitor.pyR      s    						c         C   s#   |  j  r |  j j |  j  ƒ n  d S(   s   Flush data to disk.N(   R   R   t   save(   R   (    (    s=   /usr/lib/python2.7/dist-packages/landscape/monitor/monitor.pyR      s    	c         C   s!   t  t |  ƒ j ƒ  |  j ƒ  d S(   s    Call C{exchange} on all plugins.N(   R   R   t   exchangeR   (   R   (    (    s=   /usr/lib/python2.7/dist-packages/landscape/monitor/monitor.pyR      s    Ni,  (   t   __name__t
   __module__t   __doc__t   namet   NoneR   R   R   (    (    (    s=   /usr/lib/python2.7/dist-packages/landscape/monitor/monitor.pyR      s   	(   R   R	   t   landscape.broker.clientR    R   (    (    (    s=   /usr/lib/python2.7/dist-packages/landscape/monitor/monitor.pyt   <module>   s   