B
    ็น`  ใ               @   sp   d dl Z ddlmZ G dd dee jZG dd dee jZG dd	 d	ee jZG d
d dee jZdS )้    N้   )ฺwith_metaclassc               @   s(   e Zd Zejdd Zejdd ZdS )ฺIReloaderProxyc             C   s   dS )z2 Signal to the monitor to track some custom paths.Nฉ )ฺselfฺfilesr   r   ๚Y/home/kop/projects/devel/pgwui/test_venv/lib/python3.7/site-packages/hupper/interfaces.pyฺwatch_files   s    zIReloaderProxy.watch_filesc             C   s   dS )z( Signal the monitor to execute a reload.Nr   )r   r   r   r   ฺtrigger_reload   s    zIReloaderProxy.trigger_reloadN)ฺ__name__ฺ
__module__ฺ__qualname__ฺabcฺabstractmethodr	   r
   r   r   r   r   r      s   r   c               @   s   e Zd Zdd ZdS )ฺIFileMonitorFactoryc             K   s   dS )a	   Return an :class:`.IFileMonitor` instance.

        ``callback`` is a callable to be invoked by the ``IFileMonitor``
        when file changes are detected. It should accept the path of
        the changed file as its only parameter.

        Extra keyword-only arguments:

        ``interval`` is the value of ``reload_interval`` passed to the
        reloader and may be used to control behavior in the file monitor.

        ``logger`` is an :class:`.ILogger` instance used to record runtime
        output.

        Nr   )r   ฺcallbackฺkwr   r   r   ฺ__call__   s    zIFileMonitorFactory.__call__N)r   r   r   r   r   r   r   r   r      s   r   c               @   sD   e Zd Zejdd Zejdd Zejdd Zejdd Zd	S )
ฺIFileMonitorc             C   s   dS )z Start monitoring a new path.Nr   )r   ฺpathr   r   r   ฺadd_path$   s    zIFileMonitor.add_pathc             C   s   dS )z1 Start the monitor. This method should not block.Nr   )r   r   r   r   ฺstart(   s    zIFileMonitor.startc             C   s   dS )z` Trigger the monitor to stop.

        This should be called before invoking ``join``.

        Nr   )r   r   r   r   ฺstop,   s    zIFileMonitor.stopc             C   s   dS )z% Block until the monitor has stopped.Nr   )r   r   r   r   ฺjoin4   s    zIFileMonitor.joinN)	r   r   r   r   r   r   r   r   r   r   r   r   r   r   #   s   r   c               @   s6   e Zd Zejdd Zejdd Zejdd ZdS )ฺILoggerc             C   s   dS )z Record an error message.Nr   )r   ฺmsgr   r   r   ฺerror:   s    zILogger.errorc             C   s   dS )z! Record an informational message.Nr   )r   r   r   r   r   ฺinfo>   s    zILogger.infoc             C   s   dS )z Record a debug-only message.Nr   )r   r   r   r   r   ฺdebugB   s    zILogger.debugN)r   r   r   r   r   r   r   r   r   r   r   r   r   9   s   r   )r   ฺcompatr   ฺABCMetar   r   r   r   r   r   r   r   ฺ<module>   s
   
