
     f                       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ddl	m
Z
 ddl	mZ  G d d	ej                  Ze G d
 d                      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 ed          e G d d                                  ZdS )    )annotations   )event_classT_JSON_DICT)	dataclassN)network)service_workerc                  F    e Zd ZdZdZdZdZdZdZdZ	d Z
ed	             Zd
S )ServiceNamez
    The Background Service that will be associated with the commands/events.
    Every Background Service operates independently, but they share the same
    API.
    backgroundFetchbackgroundSyncpushMessagingnotificationspaymentHandlerperiodicBackgroundSyncc                    | j         S N)value)selfs    }/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v126/background_service.pyto_jsonzServiceName.to_json   s
    z    c                     | |          S r    clsjsons     r   	from_jsonzServiceName.from_json    s    s4yyr   N)__name__
__module____qualname____doc__BACKGROUND_FETCHBACKGROUND_SYNCPUSH_MESSAGINGNOTIFICATIONSPAYMENT_HANDLERPERIODIC_BACKGROUND_SYNCr   classmethodr   r   r   r   r   r      sj         
 )&O$N#M&O7     [  r   r   c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )EventMetadatazJ
    A key-value pair for additional event information to pass along.
    strkeyr   c                J    t                      }| j        |d<   | j        |d<   |S )Nr-   r   )dictr-   r   r   r   s     r   r   zEventMetadata.to_json.   s&    vvhU
Wr   c                h     | t          |d                   t          |d                             S )Nr-   r   )r-   r   )r,   r   s     r   r   zEventMetadata.from_json4   s9    sDK  d7m$$
 
 
 	
r   N)r   r    r!   r"   __annotations__r   r)   r   r   r   r   r+   r+   %   s^           HHHJJJ   
 
 [
 
 
r   r+   c                  |    e Zd ZU ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ded<   d Zed             ZdS )BackgroundServiceEventznetwork.TimeSinceEpoch	timestampr,   originzservice_worker.RegistrationIDservice_worker_registration_idr   service
event_nameinstance_idztyping.List[EventMetadata]event_metadatastorage_keyc                B   t                      }| j                                        |d<   | j        |d<   | j                                        |d<   | j                                        |d<   | j        |d<   | j        |d<   d | j        D             |d<   | j	        |d	<   |S )
Nr5   r6   serviceWorkerRegistrationIdr8   	eventName
instanceIdc                6    g | ]}|                                 S r   )r   .0is     r   
<listcomp>z2BackgroundServiceEvent.to_json.<locals>.<listcomp>^   s      J J J J J Jr   eventMetadata
storageKey)
r/   r5   r   r6   r7   r8   r9   r:   r;   r<   r0   s     r   r   zBackgroundServiceEvent.to_jsonV   s    vv N2244[X.2.Q.Y.Y.[.[*+,..00Y O[!-\ J Jd6I J J J_!-\r   c                    | t           j                            |d                   t          |d                   t          j                            |d                   t                              |d                   t          |d                   t          |d                   d |d         D             t          |d	                   
          S )Nr5   r6   r>   r8   r?   r@   c                B    g | ]}t                               |          S r   )r+   r   rB   s     r   rE   z4BackgroundServiceEvent.from_json.<locals>.<listcomp>k   s&    VVV1M33A66VVVr   rF   rG   )r5   r6   r7   r8   r9   r:   r;   r<   )r   TimeSinceEpochr   r,   r	   RegistrationIDr   r   s     r   r   z BackgroundServiceEvent.from_jsonb   s    s,66tK7HIItH~&&+9+H+R+RSWXuSv+w+w))$y/::4,--D.//VV_@UVVVD.//	
 	
 	
 		
r   N)r   r    r!   r2   r   r)   r   r   r   r   r4   r4   <   s          &%%% KKK BAAA  OOO  /... 
 
 
 

 

 [

 

 

r   r4   r8   return0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c              #  f   K   t                      }|                                 |d<   d|d}|V }dS )zE
    Enables event updates for the service.

    :param service:
    r8   z BackgroundService.startObservingmethodparamsNr/   r   r8   rQ   cmd_dictr   s       r   start_observingrU   p   sF       &&F))F94 H >>DDDr   c              #  f   K   t                      }|                                 |d<   d|d}|V }dS )zF
    Disables event updates for the service.

    :param service:
    r8   zBackgroundService.stopObservingrO   NrR   rS   s       r   stop_observingrW      sF       &&F))F93 H >>DDDr   should_recordboolc              #  p   K   t                      }| |d<   |                                |d<   d|d}|V }dS )za
    Set the recording state for the service.

    :param should_record:
    :param service:
    shouldRecordr8   zBackgroundService.setRecordingrO   NrR   )rX   r8   rQ   rT   r   s        r   set_recordingr\      sP       &&F*F>))F92 H >>DDDr   c              #  f   K   t                      }|                                 |d<   d|d}|V }dS )zF
    Clears all stored data for the service.

    :param service:
    r8   zBackgroundService.clearEventsrO   NrR   rS   s       r   clear_eventsr^      sF       &&F))F91 H >>DDDr   z'BackgroundService.recordingStateChangedc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )RecordingStateChangedzK
    Called when the recording state for the service has been updated.
    rY   is_recordingr   r8   r   r   rL   c                ~     | t          |d                   t                              |d                             S )NisRecordingr8   )ra   r8   )rY   r   r   r   s     r   r   zRecordingStateChanged.from_json   s@    sd=122))$y/::
 
 
 	
r   N)r   r   rL   r`   r   r    r!   r"   r2   r)   r   r   r   r   r`   r`      sX           
 
 
 [
 
 
r   r`   z0BackgroundService.backgroundServiceEventReceivedc                  6    e Zd ZU dZded<   ed	d            ZdS )
BackgroundServiceEventReceivedz
    Called with all existing backgroundServiceEvents when enabled, and all new
    events afterwards if enabled and recording.
    r4   background_service_eventr   r   rL   c                V     | t                               |d                             S )NbackgroundServiceEvent)rg   )r4   r   r   s     r   r   z(BackgroundServiceEventReceived.from_json   s2    s%;%E%EdKcFd%e%e
 
 
 	
r   N)r   r   rL   rf   rd   r   r   r   rf   rf      sL           5444
 
 
 [
 
 
r   rf   )r8   r   rL   rM   )rX   rY   r8   r   rL   rM   )
__future__r   utilr   r   dataclassesr   enumtyping r   r	   Enumr   r+   r4   rU   rW   r\   r^   r`   rf   r   r   r   <module>rq      s   # " " " " " * * * * * * * * ! ! ! ! ! !                  $)   * 
 
 
 
 
 
 
 
, 0
 0
 0
 0
 0
 0
 0
 0
f   "   "   (   " 677

 
 
 
 
 
 
  87
 ?@@

 
 
 
 
 
 
  A@
 
 
r   