
    ȡcR{$                        d dl mZ d dlmZ dZdZdZdZdZdZ	dZ
d ZdZdZdZdZdZ ej         ej        d	           ej        d
                    Z ej         ej        d	           ej        d
                    Z ej         ej        de           ej        de                    Z ej         ej        de           ej        de           ej        de           ej        de           ej        de           ej        de           ej        de           ej        d           ej        d          	  	        Z ej         ej        d           ej        dd           ej        de                    Z G d dej                  Z G d dej                   Z!d Z" G d dej#                  Z$d Z% G d  d!ej#                  Z&d" Z' G d# d$ej#                  Z(d% Z) G d& d'ej                   Z*d( Z+ G d) d*ej                   Z,d+ Z- G d, d-ej#                  Z.d. Z/ G d/ d0ej#                  Z0d1 Z1d2 Z2d3S )4    )X)rqRECORD               firstlastmajor_rangeminor_rangecore_requestscore_repliesext_requestsext_repliesdelivered_eventsdevice_eventserrorsclient_startedclient_diedclient_resourcerangesc                   "    e Zd ZdZdZd Zd ZdS )RawFieldz)A field with raw data, stored as a stringNc                 &    |t          |          d fS N)len)selfvals     R/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/Xlib/ext/record.py
pack_valuezRawField.pack_valueF   s    CHHd""    c                 
    |dfS )N  )r   datadisplaylengthformats        r!   parse_binary_valuezRawField.parse_binary_valueI   s    Rxr#   )__name__
__module____qualname____doc__
structcoder"   r+   r&   r#   r!   r   r   A   s=        33J# # #    r#   r   c            
          e Zd Z ej         ej        d           ej        d           ej                     ej        d           ej        d                    Z	 ej         ej
        d           ej        d           ej                     ej        d           ej        d           ej
        d                    ZdS )	
GetVersionopcoder   major_versionminor_versionr   sequence_number   N)r,   r-   r.   r   StructCard8OpcodeRequestLengthCard16_requestPadReplyLength_replyr&   r#   r!   r2   r2   M   s        ryBHXBIaLLBBIo&&BIo&&( (H RYBF1IIBI'((BNBIo&&BIo&&BF2JJ FFFr#   r2   c                 l    t          | j        | j                            t                    ||          S )N)r(   r3   r4   r5   )r2   r(   get_extension_majorextname)r   majorminors      r!   get_versionrF   \   s7    l\55g>>!!	# # # #r#   c                   h   e Zd Z ej         ej        d           ej        d           ej                     ej        d           ej        d           ej	        d           ej
        dd           ej
        dd           ej        dej                   ej        de          
  
        Zd	S )
CreateContextr3   r   contextelement_headerr	   clientsr   r   Nr,   r-   r.   r   r8   r9   r:   r;   Card32r>   LengthOfList	Card32ObjRecord_Ranger=   r&   r#   r!   rH   rH   d           ryBHXBIaLLBBIi  BH%&&BF1IIBK	1%%BK!$$BGIr|,,BGHl++
- 
-HHHr#   rH   c                     | j                                         }t          | j         | j                             t                    ||||           |S N)r(   r3   rI   rJ   rK   r   )r(   allocate_resource_idrH   rB   rC   )r   datum_flagsrK   r   rI   s        r!   create_contextrW   q   sW    l//11Gl\55g>>(    Nr#   c                   h   e Zd Z ej         ej        d           ej        d           ej                     ej        d           ej        d           ej	        d           ej
        dd           ej
        dd           ej        dej                   ej        de          
  
        Zd	S )
RegisterClientsr3   r   rI   rJ   r	   rK   r   r   NrL   r&   r#   r!   rY   rY   }   rR   r#   rY   c                 t    t          | j        | j                            t                    ||||           d S rT   )rY   r(   rB   rC   )r   rI   rJ   rK   r   s        r!   register_clientsr[      sG    l\55g>>+     r#   c                       e Zd Z ej         ej        d           ej        d           ej                     ej        d           ej	        dd           ej
        dej                            ZdS )UnregisterClientsr3   r	   rI   rK   r   N)r,   r-   r.   r   r8   r9   r:   r;   rM   rN   rO   rP   r=   r&   r#   r!   r]   r]      s~        ryBHXBIaLLBBIi  BK	1%%BGIr|,,. .HHHr#   r]   c                 p    t          | j        | j                            t                    ||           d S )N)r(   r3   rI   rK   )r]   r(   rB   rC   )r   rI   rK   s      r!   unregister_clientsr_      sA    l\55g>>	     r#   c                      e Zd Z ej         ej        d           ej        d           ej                     ej        d                    Z	 ej         ej
        d           ej        d           ej                     ej        d           ej
        d           ej        dd           ej
        d	           ej        de                    Zd
S )
GetContextr3   r   rI   r   r6   rJ   r	   client_info   N)r,   r-   r.   r   r8   r9   r:   r;   rM   r=   r>   r<   r?   rN   rO   Record_ClientInfor@   r&   r#   r!   ra   ra      s        ryBHXBIaLLBBIi  	" "H
 RYBF1IIBI'((BNBH%&&BF1IIBKq))BF2JJBGM#4557 7FFFr#   ra   c                 j    t          | j        | j                            t                    |          S N)r(   r3   rI   )ra   r(   rB   rC   r   rI   s     r!   get_contextrh      s4    l\55g>>   r#   c                   (   e Zd Z ej         ej        d           ej        d           ej                     ej        d                    Z	 ej         ej
        d           ej        d           ej        d           ej                     ej        d           ej        d           ej
        d	           ej        d
           ej        d           ej        d           ej
        d           ed                    Zd Zd ZdS )EnableContextr3   r
   rI   r   categoryr6   rJ   client_swappedr   id_baseserver_timerecorded_sequence_number   r'   c                 H    || _         t          j        j        | g|R i | d S r   )	_callbackr   ReplyRequest__init__)r   callbackargskeyss       r!   rt   zEnableContext.__init__   s2    !
 555555555r#   c                    | j                             || j                  \  }}|                     |           |j        t
          k    r|j        | _        |j        t          k    r;| j        	                                 || _
        | j                                         d S | j        j                            d|            d S )Nr   )r@   parse_binary_displayrr   rk   StartOfDatar6   	EndOfData_response_lockacquire_datareleasesent_requestsinsert)r   r'   rds       r!   _parse_responsezEnableContext._parse_response   s    {''dm<<1q:$$ $%#4D :""'')))DJ'')))))M'..q$77777r#   N)r,   r-   r.   r   r8   r9   r:   r;   rM   r=   r>   r<   r?   Boolr   r@   rt   r   r&   r#   r!   rj   rj      sA       ryBHXBIaLLBBIi  	" "H
 RYBF1IIBHZ  BI'((BNBH%&&BG$%%BF1IIBIi  BIm$$BI011BF1IIHV F&6 6 68 8 8 8 8r#   rj   c                 p    t          || j        | j                            t                    |           d S )N)ru   r(   r3   rI   )rj   r(   rB   rC   )r   rI   ru   s      r!   enable_contextr      sA    l\55g>>	     r#   c                       e Zd Z ej         ej        d           ej        d           ej                     ej        d                    Z	dS )DisableContextr3      rI   N
r,   r-   r.   r   r8   r9   r:   r;   rM   r=   r&   r#   r!   r   r      Z        ryBHXBIaLLBBIi  	" "HHHr#   r   c                 n    t          | j        | j                            t                    |           d S rf   )r   r(   rB   rC   rg   s     r!   disable_contextr      s>    l\55g>>     r#   c                       e Zd Z ej         ej        d           ej        d           ej                     ej        d                    Z	dS )FreeContextr3      rI   Nr   r&   r#   r!   r   r      r   r#   r   c                     t          | j        | j                            t                    |           | j                            |           d S rf   )r   r(   rB   rC   free_resource_idrg   s     r!   free_contextr     sR    l\55g>>    	L!!'*****r#   c                    |                      ddt                     |                      ddt                     |                      ddt                     |                      ddt                     |                      ddt
                     |                      ddt                     |                      ddt                     |                      dd	t                     d S )
Nr(   record_get_versionrecord_create_contextrecord_register_clientsrecord_unregister_clientsrecord_get_contextrecord_enable_contextrecord_disable_contextrecord_free_context)	extension_add_methodrF   rW   r[   r_   rh   r   r   r   )dispinfos     r!   initr     s    i)={KKKi)@.QQQi)BDTUUUi)DFXYYYi)={KKKi)@.QQQi)A?SSSi)>MMMMMr#   N)3Xlibr   Xlib.protocolr   rC   FromServerTimeFromClientTimeFromClientSequenceCurrentClientsFutureClients
AllClients
FromServer
FromClientClientStarted
ClientDiedr{   r|   r8   r9   Record_Range8r<   Record_Range16ObjectRecord_ExtRanger   rQ   rM   rN   rO   rd   
ValueFieldr   rs   r2   rF   RequestrH   rW   rY   r[   r]   r_   ra   rh   rj   r   r   r   r   r   r   r&   r#   r!   <module>r      s  &            
 



		  	'	&  ")	-//	-002 2 ry	/=11	.-00	./22	-11	$m44	/=11	(M** !!	  	  BI	#$$Ha  ,'') ) 	 	 	 	 	r} 	 	 	       # # #- - - - -BJ - - -	 	 	- - - - -bj - - -  . . . . .
 . . .  7 7 7 7 7 7 7 7   +8 +8 +8 +8 +8BO +8 +8 +8Z  " " " " "RZ " " "  " " " " ""* " " "+ + +N N N N Nr#   