B
    νvV$                 @   sp   d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	 ddl
mZmZ G dd	 d	e	eZG d
d deeZdS )z9 Defines a KernelClient that provides signals and slots.
    )QtCore)BoolDottedObjectName)KernelManager)KernelRestarter   )QtKernelManagerMixinQtKernelRestarterMixinc                   s,   e Zd Zdd Zdd Z fddZ  ZS )QtKernelRestarterc             C   s:   | j d kr$t | _ | j j| j | j | jd  d S )Ni  )_timerr   ZQTimerZtimeoutZconnectpollstartZtime_to_dead)self r   0lib/python3.7/site-packages/qtconsole/manager.pyr      s    

zQtKernelRestarter.startc             C   s   | j   d S )N)r   stop)r   r   r   r   r      s    zQtKernelRestarter.stopc                s   t t|   d S )N)superr
   r   )r   )	__class__r   r   r      s    zQtKernelRestarter.poll)__name__
__module____qualname__r   r   r   __classcell__r   r   )r   r   r
      s   r
   c               @   s<   e Zd ZdZedZedddZdd Zdd Z	d	d
 Z
dS )QtKernelManagerz+A KernelManager with Qt signals for restartzqtconsole.client.QtKernelClientT)Zconfigc             C   sD   | j r@| jr@| jd kr6t| | | jd| _| j| j | j  d S )N)Zkernel_managerparentlog)autorestartZ
has_kernel
_restarterr
   r   Zadd_callback_handle_kernel_restartedr   )r   r   r   r   start_restarter$   s    
zQtKernelManager.start_restarterc             C   s   | j r| jd k	r| j  d S )N)r   r   r   )r   r   r   r   stop_restarter/   s    
zQtKernelManager.stop_restarterc             C   s   | j   d S )N)Zkernel_restartedemit)r   r   r   r   r   4   s    z(QtKernelManager._handle_kernel_restartedN)r   r   r   __doc__r   Zclient_classr   r   r   r   r   r   r   r   r   r      s   r   N)r!   Zqtconsole.qtr   Z	traitletsr   r   Zjupyter_clientr   Zjupyter_client.restarterr   Zkernel_mixinsr   r	   r
   r   r   r   r   r   <module>   s   