
    i%                     X   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j                   d       ej$                  d       ej$                  d            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j0                  d       ej2                  dd       ej4                  de            Z G d dej8                        Z G d dej<                        Zd Z  G d dejB                        Z"d  Z# G d! d"ejB                        Z$d# Z% G d$ d%ejB                        Z&d& Z' G d' d(ej<                        Z(d) Z) G d* d+ej<                        Z*d, Z+ G d- d.ejB                        Z,d/ Z- G d0 d1ejB                        Z.d2 Z/d3 Z0y4)5    )rqRECORD               firstlastmajor_range_firstmajor_range_lastminor_range_firstminor_range_last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y)RawFieldz)A field with raw data, stored as a stringNc                     |t        |      d fS N)len)selfvals     Y/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/Xlib/ext/record.py
pack_valuezRawField.pack_valueJ   s    CHd""    c                 
    |dfS )N  )r    datadisplaylengthformats        r"   parse_binary_valuezRawField.parse_binary_valueM   s    Rxr$   )__name__
__module____qualname____doc__
structcoder#   r,   r'   r$   r"   r   r   E   s    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y)	
GetVersionopcoder   major_versionminor_versionr   sequence_number   N)r-   r.   r/   r   StructCard8OpcodeRequestLengthCard16_requestPadReplyLength_replyr'   r$   r"   r3   r3   Q   s    ryyBHHXBIIaLBBIIo&BIIo&(H RYYBFF1IBII'(BNNBIIo&BIIo&BFF2JFr$   r3   c                 n    t        | j                  | j                  j                  t              ||      S )N)r)   r4   r5   r6   )r3   r)   get_extension_majorextname)r    majorminors      r"   get_versionrG   `   s.    ll\\55g>!!	# #r$   c                      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y	)
CreateContextr4   r   contextelement_headerr   clientsr   r   Nr-   r.   r/   r   r9   r:   r;   r<   Card32r?   LengthOfList	Card32ObjRecord_Ranger>   r'   r$   r"   rI   rI   h       ryyBHHXBIIaLBBIIi BHH%&BFF1IBKK	1%BKK!$BGGIr||,BGGHl+
-Hr$   rI   c                     | j                   j                         }t        | j                   | j                   j                  t              ||||       |S N)r)   r4   rJ   rK   rL   r   )r)   allocate_resource_idrI   rC   rD   )r    datum_flagsrL   r   rJ   s        r"   create_contextrX   u   sH    ll//1Gll\\55g>( Nr$   c                      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y	)
RegisterClientsr4   r   rJ   rK   r   rL   r   r   NrM   r'   r$   r"   rZ   rZ      rS   r$   rZ   c                 t    t        | j                  | j                  j                  t              ||||       y rU   )rZ   r)   rC   rD   )r    rJ   rK   rL   r   s        r"   register_clientsr\      s/    ll\\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y)UnregisterClientsr4   r   rJ   rL   r   N)r-   r.   r/   r   r9   r:   r;   r<   rN   rO   rP   rQ   r>   r'   r$   r"   r^   r^      sm    ryyBHHXBIIaLBBIIi BKK	1%BGGIr||,.Hr$   r^   c                 p    t        | j                  | j                  j                  t              ||       y )N)r)   r4   rJ   rL   )r^   r)   rC   rD   )r    rJ   rL   s      r"   unregister_clientsr`      s)    ll\\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y
)
GetContextr4   r   rJ   r   r7   rK   r   client_info   N)r-   r.   r/   r   r9   r:   r;   r<   rN   r>   r?   r=   r@   rO   rP   Record_ClientInforA   r'   r$   r"   rb   rb      s    ryyBHHXBIIaLBBIIi 	"H
 RYYBFF1IBII'(BNNBHH%&BFF1IBKKq)BFF2JBGGM#457Fr$   rb   c                 l    t        | j                  | j                  j                  t              |      S N)r)   r4   rJ   )rb   r)   rC   rD   r    rJ   s     r"   get_contextri      s+    ll\\55g> r$   c                   d   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y)EnableContextr4   r	   rJ   r   categoryr7   rK   client_swappedr   id_baseserver_timerecorded_sequence_number   r(   c                 X    || _         t        j                  j                  | g|i | y r   )	_callbackr   ReplyRequest__init__)r    callbackargskeyss       r"   ru   zEnableContext.__init__   s%    !
  555r$   c                    | j                   j                  || j                        \  }}| j                  |       |j                  t
        k(  r|j                  | _        |j                  t        k(  r<| j                  j                          || _
        | j                  j                          y | j                  j                  j                  d|        y )Nr   )rA   parse_binary_displayrs   rl   StartOfDatar7   	EndOfData_response_lockacquire_datareleasesent_requestsinsert)r    r(   rds       r"   _parse_responsezEnableContext._parse_response   s    {{''dmm<1q::$ $%#4#4D ::"'')DJ'')MM''..q$7r$   N)r-   r.   r/   r   r9   r:   r;   r<   rN   r>   r?   r=   r@   Boolr   rA   ru   r   r'   r$   r"   rk   rk      s   ryyBHHXBIIaLBBIIi 	"H
 RYYBFF1IBHHZ BII'(BNNBHH%&BGG$%BFF1IBIIi BIIm$BII01BFF1IVF&68r$   rk   c                 p    t        || j                  | j                  j                  t              |       y )N)rv   r)   r4   rJ   )rk   r)   rC   rD   )r    rJ   rv   s      r"   enable_contextr      s)    ll\\55g>	r$   c                       e Zd Z ej                   ej
                  d       ej                  d       ej                          ej                  d            Z	y)DisableContextr4      rJ   N
r-   r.   r/   r   r9   r:   r;   r<   rN   r>   r'   r$   r"   r   r      I    ryyBHHXBIIaLBBIIi 	"Hr$   r   c                 n    t        | j                  | j                  j                  t              |       y rg   )r   r)   rC   rD   rh   s     r"   disable_contextr      s&    ll\\55g>r$   c                       e Zd Z ej                   ej
                  d       ej                  d       ej                          ej                  d            Z	y)FreeContextr4      rJ   Nr   r'   r$   r"   r   r     r   r$   r   c                     t        | j                  | j                  j                  t              |       | j                  j	                  |       y rg   )r   r)   rC   rD   free_resource_idrh   s     r"   free_contextr   
  s:    ll\\55g> 	LL!!'*r$   c                 t   | j                  ddt               | j                  ddt               | j                  ddt               | j                  ddt               | j                  ddt
               | j                  ddt               | j                  ddt               | j                  dd	t               y )
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_methodrG   rX   r\   r`   ri   r   r   r   )dispinfos     r"   initr     s    i)={Ki)@.Qi)BDTUi)DFXYi)={Ki)@.Qi)A?Si)>Mr$   N)1Xlib.protocolr   rD   FromServerTimeFromClientTimeFromClientSequenceCurrentClientsFutureClients
AllClients
FromServer
FromClientClientStarted
ClientDiedr|   r}   r9   r:   Record_Range8r=   Record_Range16Record_ExtRangeObjectr   rR   rN   rO   rP   re   
ValueFieldr   rt   r3   rG   RequestrI   rX   rZ   r\   r^   r`   rb   ri   rk   r   r   r   r   r   r   r'   r$   r"   <module>r      s  , 
 



			 		'		& "))$%#$		%&		$%	'
 ryy		/=1		.-0		./2		-1		$m4		/=1		(M* !	  BII		#$Ha ,') 	r}} 	 #-BJJ -	-bjj -.

 .7 7 +8BOO +8Z"RZZ """** "+Nr$   