o
    nYi                     @   sT   d dl mZ ddlmZmZmZmZ ddlmZ d dl	m
Z
 e
G dd deZd	S )
   )BaseComponent   )MethodNotificationCallTapStateTapType   )Event)	stoppablec                       sV   e Zd Zd fdd	Zedd Zedd Zedd	 Zed
d Zdd Z	  Z
S )TapNc
           
         s   t  | tjd|id| _|i d| _|d ur || jd d< |d ur-t|| jd d< |d ur:t|| jd d< |d urE|| jd d< |d urRt|| jd d< |	d ur_|	| jd d	< d S d S )
N	direction)typeparamsr   addrportptimeuriratecodec)super__init__r   AUDIOtapdeviceint)
selfcallaudio_directiontarget_typetarget_addrtarget_porttarget_ptime
target_urir   r   	__class__ k/var/www/html/asistente-voz-ia/venv/lib/python3.10/site-packages/signalwire/relay/calling/components/tap.pyr   	   s(   zTap.__init__c                 C      t jS N)r   TAPr   r%   r%   r&   
event_type       zTap.event_typec                 C   r'   r(   )r   r)   r*   r%   r%   r&   method$   r,   z
Tap.methodc                 C   s   | j j| j j| j| j| jdS )N)node_idcall_id
control_idr   r   )r   r.   idr0   r   r   r*   r%   r%   r&   payload(   s   zTap.payloadc                 C   s$   z| j d W S  ty   i  Y S w )Nsource_device)_execute_result	Exceptionr*   r%   r%   r&   r3   2   s
   zTap.source_devicec                 C   s   | dd | _| jd u rd S d|v r|d | _d|v r |d | _| jtjk| _| jrD|   d| _t	| j|| _
|  rF| jd d S d S d S )Nstater   r   T)getr6   r   r   r   FINISHED	completed
unregister
successfulr	   event
has_future_future
set_result)r   r   r%   r%   r&   notification_handler9   s    


zTap.notification_handler)NNNNNN)__name__
__module____qualname__r   propertyr+   r-   r2   r3   r@   __classcell__r%   r%   r#   r&   r      s    


	
r   N) r   	constantsr   r   r   r   r<   r	   
decoratorsr
   r   r%   r%   r%   r&   <module>   s    