
     f                    4   d dl mZ ddlmZmZ d dlmZ d dlZd dlZe G d d                      Z		 dddZ
ddZddZddZddZddZ ed          e G d d                                  Z ed          e G d d                                  ZdS )    )annotations   )event_classT_JSON_DICT)	dataclassNc                  N    e Zd ZU ded<   ded<   dZded<   d Zed             ZdS )	Sinkstrnameid_Ntyping.Optional[str]sessionc                l    t                      }| j        |d<   | j        |d<   | j        
| j        |d<   |S )Nr   idr   )dictr   r   r   )selfjsons     o/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v125/cast.pyto_jsonzSink.to_json   s9    vvyVXT
<#"lDO    c                     | t          |d                   t          |d                   d|v rt          |d                   nd           S )Nr   r   r   )r   r   r   r
   clsr   s     r   	from_jsonzSink.from_json   sU    sT&\""DJ,5,=,=CY(((4
 
 
 	
r   )__name__
__module____qualname____annotations__r   r   classmethodr    r   r   r	   r	      se         IIIHHH %)G((((   
 
 [
 
 
r   r	   presentation_urlr   return0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c              #  F   K   t                      }| | |d<   d|d}|V }dS )al  
    Starts observing for sinks that can be used for tab mirroring, and if set,
    sinks compatible with ``presentationUrl`` as well. When sinks are found, a
    ``sinksUpdated`` event is fired.
    Also starts observing for issue messages. When an issue is added or removed,
    an ``issueUpdated`` event is fired.

    :param presentation_url: *(Optional)*
    NpresentationUrlzCast.enablemethodparamsr   )r"   r)   cmd_dictr   s       r   enabler,   (   sC       &&F#$4 ! H >>DDDr   c               #     K   ddi} | V }dS )z/
    Stops observing for sinks and issues.
    r(   zCast.disableNr!   )r+   r   s     r   disabler.   >   s#      
 	.H >>DDDr   	sink_namer
   c              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Sets a sink to be used when the web page requests the browser to choose a
    sink via Presentation API, Remote Playback API, or Cast SDK.

    :param sink_name:
    sinkNamezCast.setSinkToUser'   Nr*   r/   r)   r+   r   s       r   set_sink_to_user3   H   s<       &&F"F:% H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )zJ
    Starts mirroring the desktop to the sink.

    :param sink_name:
    r1   zCast.startDesktopMirroringr'   Nr*   r2   s       r   start_desktop_mirroringr5   Z   s<       &&F"F:. H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )zF
    Starts mirroring the tab to the sink.

    :param sink_name:
    r1   zCast.startTabMirroringr'   Nr*   r2   s       r   start_tab_mirroringr7   k   s<       &&F"F:* H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )zK
    Stops the active Cast session on the sink.

    :param sink_name:
    r1   zCast.stopCastingr'   Nr*   r2   s       r   stop_castingr9   |   s<       &&F"F:$ H >>DDDr   zCast.sinksUpdatedc                  6    e Zd ZU dZded<   ed	d            ZdS )
SinksUpdatedz
    This is fired whenever the list of available sinks changes. A sink is a
    device or a software surface that you can cast to.
    ztyping.List[Sink]sinksr   r   r#   c                :     | d |d         D                       S )Nc                B    g | ]}t                               |          S r!   )r	   r   ).0is     r   
<listcomp>z*SinksUpdated.from_json.<locals>.<listcomp>   s$    <<<4>>!$$<<<r   r<   )r<   r!   r   s     r   r   zSinksUpdated.from_json   s0    s<<d7m<<<
 
 
 	
r   N)r   r   r#   r;   r   r   r   __doc__r   r    r   r!   r   r   r;   r;      sL           
 
 
 [
 
 
r   r;   zCast.issueUpdatedc                  6    e Zd ZU dZded<   ed	d            ZdS )
IssueUpdatedz
    This is fired whenever the outstanding issue/error message changes.
    ``issueMessage`` is empty if there is no issue.
    r
   issue_messager   r   r#   c                @     | t          |d                             S )NissueMessage)rF   r   r   s     r   r   zIssueUpdated.from_json   s+    sd>233
 
 
 	
r   N)r   r   r#   rE   rB   r!   r   r   rE   rE      sL           
 
 
 [
 
 
r   rE   )N)r"   r   r#   r$   )r#   r$   )r/   r
   r#   r$   )
__future__r   utilr   r   dataclassesr   enumtypingr	   r,   r.   r3   r5   r7   r9   r;   rE   r!   r   r   <module>rN      s   # " " " " " * * * * * * * * ! ! ! ! ! !  

 
 
 
 
 
 
 
6 26    ,      $   "   "   "  !!

 
 
 
 
 
 
  "!
  !!

 
 
 
 
 
 
  "!
 
 
r   