
    g                        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 G d de	      Z
 G d d	e	      Ze G d
 d             ZddZddZ	 	 	 	 	 	 ddZ	 	 	 	 ddZ ed      e G d d                    Zy)    )annotations   )event_classT_JSON_DICT)	dataclassNc                  <     e Zd ZdZddZedd       Z fdZ xZS )	RequestIdz
    Device request id.
    c                    | S N selfs    h/var/www/html/venv/lib/python3.12/site-packages/selenium/webdriver/common/devtools/v129/device_access.pyto_jsonzRequestId.to_json           c                     | |      S r   r   clsjsons     r   	from_jsonzRequestId.from_json       4yr   c                >    dj                  t        | 	               S )NzRequestId({})formatsuper__repr__r   	__class__s    r   r   zRequestId.__repr__   s    %%eg&6&899r   returnstr)r   r"   r!   r	   	__name__
__module____qualname____doc__r   classmethodr   r   __classcell__r   s   @r   r	   r	      s+      : :r   r	   c                  <     e Zd ZdZddZedd       Z fdZ xZS )DeviceIdz
    A device id.
    c                    | S r   r   r   s    r   r   zDeviceId.to_json    r   r   c                     | |      S r   r   r   s     r   r   zDeviceId.from_json#   r   r   c                >    dj                  t        | 	               S )NzDeviceId({})r   r   s    r   r   zDeviceId.__repr__'   s    $$UW%5%788r   r    )r   r"   r!   r,   r#   r*   s   @r   r,   r,      s+      9 9r   r,   c                  <    e Zd ZU dZded<   ded<   d Zed        Zy)	PromptDevicezK
    Device information displayed in a user prompt to select a device.
    r,   id_r"   namec                r    t               }| j                  j                         |d<   | j                  |d<   |S )Nidr3   )dictr2   r   r3   )r   r   s     r   r   zPromptDevice.to_json5   s1    vXX%%'T
yyVr   c                Z     | t         j                  |d         t        |d               S )Nr5   r3   )r2   r3   )r,   r   r"   r   s     r   r   zPromptDevice.from_json;   s-    ""4:.T&\"
 	
r   N)r$   r%   r&   r'   __annotations__r   r(   r   r   r   r   r1   r1   +   s.     
M I 
 
r   r1   c               #     K   ddi} | }yw)z'
    Enable events in this domain.
    methodzDeviceAccess.enableNr   cmd_dictr   s     r   enabler=   C   s     
 	'H >D   
c               #     K   ddi} | }yw)z(
    Disable events in this domain.
    r:   zDeviceAccess.disableNr   r;   s     r   disabler@   M   s     
 	(H >Dr>   c              #  ~   K   t               }| j                         |d<   |j                         |d<   d|d}|}yw)z{
    Select a device in response to a DeviceAccess.deviceRequestPrompted event.

    :param id_:
    :param device_id:
    r5   deviceIdzDeviceAccess.selectPromptr:   paramsNr6   r   )r2   	device_idrD   r<   r   s        r   select_promptrG   W   sG      &F;;=F4L"**,F:-H >Ds   ;=c              #  X   K   t               }| j                         |d<   d|d}|}yw)ze
    Cancel a prompt in response to a DeviceAccess.deviceRequestPrompted event.

    :param id_:
    r5   zDeviceAccess.cancelPromptrC   NrE   )r2   rD   r<   r   s       r   cancel_promptrI   k   s4      &F;;=F4L-H >Ds   (*z"DeviceAccess.deviceRequestPromptedc                  8    e Zd ZU dZded<   ded<   edd       Zy)	DeviceRequestPromptedz~
    A device request opened a user prompt to select a device. Respond with the
    selectPrompt or cancelPrompt command.
    r	   r2   ztyping.List[PromptDevice]devicesc           	          | t         j                  |d         |d   D cg c]  }t        j                  |       c}      S c c}w )Nr5   rL   )r2   rL   )r	   r   r1   )r   r   is      r   r   zDeviceRequestPrompted.from_json   sA    ##DJ/8<YH1\++A.H
 	
Hs   A
N)r   r   r!   rK   )r$   r%   r&   r'   r8   r(   r   r   r   r   rK   rK   |   s&     
N&&
 
r   rK   )r!   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])r2   r	   rF   r,   r!   rO   )r2   r	   r!   rO   )
__future__r   utilr   r   dataclassesr   enumtypingr"   r	   r,   r1   r=   r@   rG   rI   rK   r   r   r   <module>rU      s    # * !  : :9s 9 
 
 
. 
8(	7" 12

 
  3
r   