
    *)hm                         S SK Jr  S SKJr  SS\S\4S jjrS\4S jr " S S5      r " S	 S
5      r " S S5      r	 " S S5      r
 " S S5      r " S S5      rg)   )utils)print_error	signaturedepth_limitc           	         X   nUS-  nUS:X  a@  X   S:w  a1  US:X  a  [        SU  SU S35      e[        XS-
  U5      nX   S:w  a  M1  US-  nU$ US:X  al  US:X  a  [        SU  SU S35      eX   S	;  a  [        SU  S
X    SU S35      eUS-  n[        XS-
  U5      nX   S:w  a  [        SU  SU S35      eUS-  nU$ US:X  a)  US:X  a  [        SU  SU S35      e[        XS-
  U5      nU$ US;  a  [        SU  SU SU S35      eU$ )Nr   ()    Bad signature "z#". Too much recursion beginning at .{zbynqihuxtdsog?". "z6" is not a valid type for dictionary keys at position }z&". Dict must end with "}" at position azbynqiuxtdsogvr*?hz". Unexpected value "z" at position )
ValueErrorvariant_type_string_scan)r   r   ibeg_chars       (/usr/share/glib-2.0/codegen/dbustypes.pyr   r      s   |HFA3lc!a %i[0STUSVVWX  )!OQGA lc! 	
Q6 H5 
S!!),OPQsRST  \!11!)D>tuvtwwxy  	
Q$YaC<3!),STUSVVWX  	
Q H 
S!!),OPQsRST  %YaC
 H	 
,	,i[(=hZ~VWUXXYZ
 	
 H    c                 ,   Sn[        U 5      S:  a  [        S5        U  H  nUS;  d  M  [        SU  SU S35        M      [        X5        g ! [         a    [        SU  S35         g [         a"  n[        UR
                  S	   5         S nAg S nAff = f)
N      z/D-Bus maximum signature length of 255 exceeded.zybnqiuxthdvasog(){}r   r   z" is not a valid D-Bus type.z/". Error parsing string or brackets not closed.r
   )lenr   r   
IndexErrorr   args)r   G_VARIANT_MAX_RECURSION_DEPTHses       r   variant_check_signaturer    G   s    $'!
9~EF))!)D3OP 
 J 
i[(WX	
  AFF1Is   A B(	B1BBc                        \ rS rSrS rS rSrg)
Annotation[   c                 8    Xl         X l        / U l        SU l        g N )keyvalueannotationssince)selfr'   r(   s      r   __init__Annotation.__init__\   s    

r   c                    U R                   n[        R                  " U R                  S5      n[        R                  " U5      (       a  UR                  5       U l        ORU(       a  Un[        R                  " U5      R                  5       R                  SS5      R                  SS5      U l        [        U R                  5      S:X  aO  [        R                  " U R                  5      U l
        [        U R                  5      S:X  a  UR                  U l
        U R                   H  nUR                  XX4U 5        M     g )Norg.gtk.GDBus.C.Name-_r   r
   )r'   r   lookup_annotationr)   is_ugly_caselower	key_lowercamel_case_to_uscorereplacer   r*   lookup_sincepost_process)	r+   interface_prefixcns	cns_upper	cns_lower	containerr'   overridden_keyr   s	            r   r9   Annotation.post_processb   s    hh004
 n--+113DN$**3/c"c"	 N tzz?a++D,<,<=DJ4::!#&__
!!ANN+)M "r   )r)   r'   r5   r*   r(   N__name__
__module____qualname____firstlineno__r,   r9   __static_attributes__ r   r   r"   r"   [   s    Nr   r"   c                        \ rS rSrS rS rSrg)Arg|   c                 F    Xl         X l        / U l        SU l        SU l        g r%   )namer   r)   
doc_stringr*   )r+   rL   r   s      r   r,   Arg.__init__}   s"    	"
r   c                    [        U R                  5      S:X  a%  [        R                  " U R                  5      U l        [        U R
                  5      S:X  a%  [        R                  " U R                  5      U l        U R                  c
  SU-  U l        SU l        SU l	        SU l
        SU l        SU l        SU l        SU l        SU R                  -   U l        SU R                  -   U l        S	U l        S
U l        SU l        SU l        SU l        SU l        [1        U R                  5        [        R2                  " U R                  S5      (       Gd  U R                  S:X  a]  SU l        SU l	        SU l        SU l        SU l        S U l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        GOU R                  S:X  a]  SU l        SU l	        SU l        SU l        SU l        S U l        SU l        SU l        SU l        S U l        S!U l        S"U l        S#U l        GO8U R                  S$:X  a]  S%U l        S&U l	        S'U l        S(U l        S)U l        S U l        S$U l        S$U l        S*U l        S+U l        S,U l        S-U l        S.U l        GOU R                  S/:X  a]  S0U l        S1U l	        S'U l        S2U l        S3U l        S U l        S/U l        S/U l        S4U l        S5U l        S6U l        S7U l        S8U l        GO^U R                  S9:X  a]  S%U l        S%U l	        S'U l        S:U l        S)U l        S U l        S9U l        S9U l        S;U l        S+U l        S,U l        S-U l        S.U l        GOU R                  S<:X  a]  S0U l        S0U l	        S'U l        S=U l        S3U l        S U l        S<U l        S<U l        S>U l        S5U l        S6U l        S7U l        S8U l        GOU R                  S?:X  a]  S@U l        S@U l	        S'U l        SAU l        SBU l        S U l        S?U l        S?U l        SCU l        SDU l        SEU l        SFU l        S U l        GOU R                  SG:X  a]  SHU l        SHU l	        SIU l        S'U l        SJU l        S U l        SGU l        SGU l        SKU l        SLU l        SMU l        SNU l        S U l        GOU R                  SO:X  a]  SPU l        SPU l	        SQU l        SRU l        SSU l        S U l        SOU l        SOU l        STU l        SUU l        SVU l        SWU l        SXU l        GO=U R                  SY:X  ad  SZU l        SZU l	        S[U l
        SU l        S\U l        S]U l        S^U l        SYU l        SYU l        S_U l        S`U l        SaU l        SbU l        ScU l        GOU R                  Sd:X  ad  SZU l        SZU l	        S[U l
        SU l        S\U l        S]U l        S^U l        SdU l        SdU l        S_U l        S`U l        SaU l        SbU l        ScU l        GOUU R                  Se:X  ad  SZU l        SZU l	        S[U l
        SU l        S\U l        S]U l        S^U l        SeU l        SeU l        S_U l        S`U l        SaU l        SbU l        ScU l        GOU R                  Sf:X  ad  SZU l        SZU l	        SU l        S[U l
        S\U l        S]U l        S^U l        SgU l        SgU l        ShU l        S`U l        SaU l        SbU l        ScU l        GOmU R                  Si:X  aj  SjU l        SjU l	        S\U l
        SU l        SkU l        SlU l        SmU l        SnU l        SnU l        SoU l        SpU l        SqU l        SrU l        SsU l        StU l        OU R                  Su:X  aj  SjU l        SjU l	        S\U l
        SU l        SkU l        SlU l        SmU l        SvU l        SvU l        SwU l        SpU l        SqU l        SrU l        SsU l        StU l        OyU R                  Sx:X  ai  SjU l        SjU l	        S\U l
        SU l        SkU l        SlU l        SmU l        SyU l        SyU l        SzU l        SpU l        SqU l        SrU l        SsU l        StU l        U R                   H  nUR5                  XX4U 5        M     g ){Nr
   zunnamed_arg%dz
GVariant *NULLzGVariant **G_TYPE_VARIANTg_variant_unref@XXXvariantg_marshal_value_peek_variantg_value_take_variant g_cclosure_marshal_VOID__VARIANTr&   zorg.gtk.GDBus.C.ForceGVariantbz	gboolean FALSEz
gboolean *G_TYPE_BOOLEANg_variant_get_booleanbooleang_marshal_value_peek_booleang_value_set_boolean g_cclosure_marshal_VOID__BOOLEANyzguchar z'\0'zguchar *G_TYPE_UCHARg_variant_get_byteucharg_marshal_value_peek_ucharg_value_set_ucharg_cclosure_marshal_VOID__UCHARnzgint zgint16 0zgint16 *
G_TYPE_INTg_variant_get_int16intg_marshal_value_peek_intg_value_set_intg_cclosure_marshal_VOID__INTqzguint zguint16 z	guint16 *G_TYPE_UINTg_variant_get_uint16uintg_marshal_value_peek_uintg_value_set_uintg_cclosure_marshal_VOID__UINTr   zgint *g_variant_get_int32uzguint *g_variant_get_uint32xzgint64 zgint64 *G_TYPE_INT64g_variant_get_int64int64g_marshal_value_peek_int64g_value_set_int64tzguint64 z	guint64 *G_TYPE_UINT64g_variant_get_uint64uint64g_marshal_value_peek_uint64g_value_set_uint64dzgdouble z0.0z	gdouble *G_TYPE_DOUBLEg_variant_get_doubledoubleg_marshal_value_peek_doubleg_value_set_doubleg_cclosure_marshal_VOID__DOUBLEr   zconst gchar *zgchar *zgchar **G_TYPE_STRINGg_freeg_variant_get_stringstringg_marshal_value_peek_stringg_value_set_stringg_cclosure_marshal_VOID__STRINGogayz^ayg_variant_get_bytestringaszconst gchar *const *z	gchar ***G_TYPE_STRV
g_strfreevz^asg_variant_get_strvboxedg_marshal_value_peek_boxedg_value_take_boxedg_cclosure_marshal_VOID__BOXEDz(array zero-terminated=1)aoz^aog_variant_get_objvaayz^aayg_variant_get_bytestring_array)r   rM   r   lookup_docsr)   r*   r8   rL   
ctype_in_gctype_inctype_in_dupctype_in_default_value	ctype_outgtype	free_funcr   	format_in
format_outgvariant_getgvalue_type
gvalue_get
gvalue_setgclosure_marshallerarray_annotationr    r2   r9   )r+   r:   r;   r<   r=   
arg_numberr   s          r   r9   Arg.post_process   s8   t1$#//0@0@ADOtzz?a++D,<,<=DJ99'*4DI&$(&,#&%
*t~~-.!$80#E  "/&&=
 
 ~~$"- +.5+!--
!%!$"%$;!#, "@"7+M(3&"+ ).5+!++
!%!$"%$8!#* ">"5+K(3&") ).1+!+)
!%!$"%$9!#( "<"3+I(3&"* *.1+!,*
!%!$"%$:!#) "="4+J(3&") '.1+!))
!%!$"%$9!#( "<"3+I(3&"* (.1+!**
!%!$"%$:!#) "="4+J(3&"+ ).1+!++
!%!$"%$9!#* ">"5+/(3&", *!,.1+,
!%!$"%$:!#+ "?"6+/(3&", *.3+!,,
!%!$"%$:!#+ "?"6+L(3&"1 /$-!.4+!+,
!)!$"%$:!#+ "?"6+L(3&"1 /$-!.4+!+,
!)!$"%$:!#+ "?"6+L(3&"1 /$-!.4+!+,
!)!$"%$:!#+ "?"6+L(4'"1 /.4+$-!!+,
!)!&"'$>!#+ "?"6+L(4'"8 6$.!.4+!,*
!-!&"'$8!#* ">"6+K((C%4'"8 6$.!.4+!,*
!-!&"'$8!#* ">"6+K((C%5("8 6$.!.4+!,*
!-!'"($D!#* ">"6+K((C%!!ANN+)M "r   )r)   r   r   r   r   r   r   rM   r   r   r   r   r   r   r   r   r   rL   r   r*   NrA   rG   r   r   rI   rI   |   s    INr   rI   c                   $    \ rS rSrSS jrS rSrg)Methodi  c                 ~    Xl         X l        / U l        / U l        / U l        SU l        SU l        SU l        SU l        g Nr&   F)	rL   h_type_implies_unix_fdin_argsout_argsr)   rM   r*   
deprecatedunix_fd)r+   rL   r   s      r   r,   Method.__init__  s?    	&<#
r   c                    [        U R                  5      S:X  a%  [        R                  " U R                  5      U l        [        U R
                  5      S:X  aO  [        R                  " U R                  5      U l        [        U R
                  5      S:X  a  UR
                  U l        U R                  n[        R                  " U R                  S5      n[        R                  " U5      (       a  UR                  5       U l        OBU(       a  Un[        R                  " U5      R                  5       R                  SS5      U l        U R                  R                  SS5      U l        SnU R                   HG  n	U	R!                  XX4U5        US-  nU R"                  (       d  M.  SU	R$                  ;   d  M@  SU l        MI     U R(                   HG  n	U	R!                  XX4U5        US-  nU R"                  (       d  M.  SU	R$                  ;   d  M@  SU l        MI     [        R                  " U R                  S5      S	:X  a  SU l        [        R                  " U R                  S
5      (       a  SU l        [-        SS5      U l        U R.                  R!                  S S S S S 5        [-        SS 5      n
SU
l        SU
l        SU
l        S U
l        U
/U l        U R&                  (       aC  [-        SS 5      nSUl        SUl        SUl        S Ul        U R8                  R;                  U5        U R8                  R=                  U R                  5        U R                   H  n	U	R!                  XX4U 5        M     g )Nr
   r/   r0   r1   r   hTorg.freedesktop.DBus.Deprecatedtruezorg.gtk.GDBus.C.UnixFDreturnrY   method_invocationzGDBusMethodInvocation *objectg_marshal_value_peek_objectfd_listzGUnixFDList *)r   rM   r   r   r)   r*   r8   rL   r2   r3   r4   
name_lowerr6   r7   name_hyphenr   r9   r   r   r   r   r   rI   marshaller_ret_argr   r   r   r   marshaller_in_argsappendextend)r+   r:   r;   r<   r=   containing_ifacerL   overridden_name	arg_countr   method_invocation_argfd_list_args               r   r9   Method.post_process  s    t1$#//0@0@ADOtzz?a++D,<,<=DJ4::!#-33
yy114
 o..-335DO&#88>DDFNNsTWXDO??223<	ANN+)	RNI***sakk/A#	  ANN+)	RNI***sakk/A#	  ##D$4$46WX #DO""4#3#35MNNDL"%h"4,,T4tTJ #$7 >)B&,4)+H(481#8"9<<i.K#2K &.K#%BK".2K+##**;7&&t||4!!ANN+)M "r   )r)   r   rM   r   r   r   r   rL   r   r   r   r*   r   N)TrA   rG   r   r   r   r     s    	ANr   r   c                        \ rS rSrS rS rSrg)Signali  c                 V    Xl         / U l        / U l        SU l        SU l        SU l        g r   )rL   r   r)   rM   r*   r   r+   rL   s     r   r,   Signal.__init__  s+    		
r   c                    [        U R                  5      S:X  a%  [        R                  " U R                  5      U l        [        U R
                  5      S:X  aO  [        R                  " U R                  5      U l        [        U R
                  5      S:X  a  UR
                  U l        U R                  n[        R                  " U R                  S5      n[        R                  " U5      (       a  UR                  5       U l        OBU(       a  Un[        R                  " U5      R                  5       R                  SS5      U l        U R                  R                  5       U l        U R                  R                  SS5      U l        SR#                  X5R                  U R                  /5      U l        SnU R&                   H  n	U	R)                  XX4U5        US-  nM     [        R                  " U R                  S5      S:X  a  SU l        S U l        U R&                  U l        U R                   H  n	U	R)                  XX4U 5        M     g )	Nr
   r/   r0   r1   r   r   r   T)r   rM   r   r   r)   r*   r8   rL   r2   r3   r4   r   r6   r7   upper
name_upperr   joinupper_id_namer   r9   r   r   r   )
r+   r:   r;   r<   r=   r   rL   r   r   r   s
             r   r9   Signal.post_process  s    t1$#//0@0@ADOtzz?a++D,<,<=DJ4::!#-33
yy114
 o..-335DO&#88>DDFNNsTWXDO////1??223< XX33T__E
 	ANN+)	RNI 
 ##D$4$46WX #DO"&"&))!!ANN+)M "r   )r)   r   r   rM   r   r   rL   r   r   r   r*   r   NrA   rG   r   r   r   r     s     )Nr   r   c                        \ rS rSrS rS rSrg)Propertyi  c                    Xl         X l        X0l        / U l        [	        SU R                  5      U l        U R                  U R
                  l        SU l        SU l        U R                  S:X  a  SU l        SU l        OTU R                  S:X  a  SU l        O<U R                  S:X  a  SU l        O$[        SR                  U R                  5      5        SU l
        SU l        SU l        SU l        g )	Nr(   F	readwriteTreadwritezInvalid access type "{}"r&   )rL   r   accessr)   rI   argreadablewritabler   formatrM   r*   r   emits_changed_signal)r+   rL   r   r   s       r   r,   Property.__init__  s    	"w/#//;;+% DM DM[[F" DM[[G# DM299$++FG
$(!r   c                 n   [        U R                  5      S:X  a%  [        R                  " U R                  5      U l        [        U R
                  5      S:X  aO  [        R                  " U R                  5      U l        [        U R
                  5      S:X  a  UR
                  U l        U R                  n[        R                  " U R                  S5      n[        R                  " U5      (       a  UR                  5       U l        OBU(       a  Un[        R                  " U5      R                  5       R                  SS5      U l        U R                  R                  SS5      U l        U R                  S:X  a  SU l        U R                  U R                  l        U R                  R!                  XX4S5        [        R                  " U R                  S5      S:X  a  S	U l        U R                   H  nUR!                  XX4U 5        M     [        R                  " U R                  S
5      S;   a  SU l        g g )Nr
   r/   r0   r1   typetype_r   r   Tz0org.freedesktop.DBus.Property.EmitsChangedSignal)falseconstF)r   rM   r   r   r)   r*   r8   rL   r2   r3   r4   r   r6   r7   r   r   r9   r   r   )	r+   r:   r;   r<   r=   r   rL   r   r   s	            r   r9   Property.post_process-  s    t1$#//0@0@ADOtzz?a++D,<,<=DJ4::!#-33
yy114
 o..-335DO&#88>DDFNNsTWXDO??223< ??f$%DO  $//.Y1M ##D$4$46WX #DO!!ANN+)M " ""P
  ).D% r   )r   r)   r   r   rM   r   rL   r   r   r   r   r*   r   NrA   rG   r   r   r   r     s    )...r   r   c                        \ rS rSrS rS rSrg)	Interfacei^  c                     Xl         / U l        / U l        / U l        / U l        SU l        SU l        SU l        SU l        g r   )	rL   methodssignals
propertiesr)   rM   doc_string_briefr*   r   r   s     r   r,   Interface.__init___  sA    	 "
r   c                    [        U R                  5      S:X  a%  [        R                  " U R                  5      U l        [        U R
                  5      S:X  a%  [        R                  " U R                  5      U l        [        U R                  5      S:X  a%  [        R                  " U R                  5      U l        [        U5      S:  a  [        R                  " U5      (       a9  UR                  SS5      nUR                  5       S-   nUR                  5       S-   nOWUn[        R                  " U5      R                  5       S-   n[        R                  " U5      R                  5       S-   nOSnSnSn[        R                  " U R                  S5      n[        R                  " U5      (       aU  UR                  SS5      nX7-   nXpl        Xl        X@l        XVR                  5       -   U l        UR                  5       U l        OU(       a  UnO0U R(                  nUR+                  U5      (       a  U[        U5      S  nXpl        [        R,                  " U5      n[        R,                  " US-   U-   5      nXl        X@l        U[        R                  " U5      -   U l        [        R                  " U5      R                  5       U l        U R&                  R                  5       R                  SS5      U l        [        R                  " U R                  S5      S:X  a  S	U l        U R2                   H  n	U	R5                  XXEU 5        M     U R6                   H  n
U
R5                  XXEU 5        M     U R8                   H  nUR5                  XXEU 5        M     U R                   H  nUR5                  XXEU 5        M     U R6                  (       a#  SR;                  X@R&                  S
/5      U l        g g )Nr
   r1   r&   r/   r   r0   r   r   TSIGNALS)r   rM   r   r   r)   r   lookup_brief_docsr*   r8   r3   r7   r   r4   r6   r2   name_without_prefix
camel_namens_upperr   r   rL   
startswith
strip_dotsr   r   r   r9   r   r   r   signals_enum_name)r+   r:   c_namespacer;   r<   r=   r   rL   name_with_nsmr   pr   s                r   r9   Interface.post_processj  s9   t1$#//0@0@ADOt$$%*$)$;$;D<L<L$MD!tzz?a++D,<,<=DJ{a!!+..!))#r2'--/#5	'--/#5	!!66{CIIKcQ	!66{CIIKcQ	CII114
 o.."**33D:L'+$*O%M'*?*?*AADO-335DO &yy??#344$4 5 78D'+$##D)D ++C#I,<=L*O%M'%*D*DT*JJDO#88>DDFDO??002::3D ##D$4$46WX #DOANN+)M  ANN+)M  ANN+)M ! !!ANN+)M " <<%(XXy//9.U%VD" r   )r)   r   r   rM   r   r   rL   r   r   r   r   r   r   r   r  r*   NrA   rG   r   r   r   r   ^  s    	 GWr   r   N)r
   )r&   r   r   strrl   r   r    r"   rI   r   r   r   r   rG   r   r   <module>r
     s   0  % %# %Ts (N NBQN QNhMN MN`2N 2NjF. F.RSW SWr   