
     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/v85/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                  r    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 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_metadatac                .   t                      }| j                                        |d<   | j        |d<   | j                                        |d<   | j                                        |d<   | j        |d<   | j        |d<   d | j        D             |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)	r/   r5   r   r6   r7   r8   r9   r:   r;   r0   s     r   r   zBackgroundServiceEvent.to_jsonS   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             	          S )
Nr5   r6   r=   r8   r>   r?   c                B    g | ]}t                               |          S r   )r+   r   rA   s     r   rD   z4BackgroundServiceEvent.from_json.<locals>.<listcomp>g   s&    VVV1M33A66VVVr   rE   )r5   r6   r7   r8   r9   r:   r;   )r   TimeSinceEpochr   r,   r	   RegistrationIDr   r   s     r   r   z BackgroundServiceEvent.from_json^   s    s,66tK7HIItH~&&+9+H+R+RSWXuSv+w+w))$y/::4,--D.//VV_@UVVV
 
 
 	
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   rO   cmd_dictr   s       r   start_observingrS   k   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.stopObservingrM   NrP   rQ   s       r   stop_observingrU   |   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.setRecordingrM   NrP   )rV   r8   rO   rR   r   s        r   set_recordingrZ      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.clearEventsrM   NrP   rQ   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.
    rW   is_recordingr   r8   r   r   rJ   c                ~     | t          |d                   t                              |d                             S )NisRecordingr8   )r_   r8   )rW   r   r   r   s     r   r   zRecordingStateChanged.from_json   s@    sd=122))$y/::
 
 
 	
r   N)r   r   rJ   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   rJ   c                V     | t                               |d                             S )NbackgroundServiceEvent)re   )r4   r   r   s     r   r   z(BackgroundServiceEventReceived.from_json   s2    s%;%E%EdKcFd%e%e
 
 
 	
r   N)r   r   rJ   rd   rb   r   r   r   rd   rd      sL           5444
 
 
 [
 
 
r   rd   )r8   r   rJ   rK   )rV   rW   r8   r   rJ   rK   )
__future__r   utilr   r   dataclassesr   enumtyping r   r	   Enumr   r+   r4   rS   rU   rZ   r\   r^   rd   r   r   r   <module>ro      s   # " " " " " * * * * * * * * ! ! ! ! ! !                  $)   * 
 
 
 
 
 
 
 
, +
 +
 +
 +
 +
 +
 +
 +
\   "   "   (   " 677

 
 
 
 
 
 
  87
 ?@@

 
 
 
 
 
 
  A@
 
 
r   