§
    p÷c+A  ã                   óÄ   — d dl Z d dlZd dlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 dd	l
mZmZ d
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zedk    r e¦   «          dS dS )é    Né   )Úconfig)Ú	dbustypes)Úparser)Úcodegen)Úcodegen_docbook)Úcodegen_rst)Úprint_errorÚprint_warningc                 ó.   — | D ]}|j         |k    r|c S Œd S ©N)Úname)Úarg_listÚarg_nameÚas      ú+/usr/share/glib-2.0/codegen/codegen_main.pyÚfind_argr   %   s1   € Øð ð ˆØŒ6�XÒÐØˆHˆHˆHð àˆ4ó    c                 ó8   — | j         D ]}|j        |k    r|c S Œd S r   )Úmethodsr   )ÚifaceÚmethodÚms      r   Úfind_methodr   ,   ó3   € ØŒ]ð ð ˆØŒ6�VÒÐØˆHˆHˆHð àˆ4r   c                 ó8   — | j         D ]}|j        |k    r|c S Œd S r   )Úsignalsr   )r   Úsignalr   s      r   Úfind_signalr   3   r   r   c                 ó8   — | j         D ]}|j        |k    r|c S Œd S r   )Ú
propertiesr   )r   Úpropr   s      r   Ú	find_propr#   :   s2   € ØÔð ð ˆØŒ6�TŠ>ˆ>ØˆHˆHˆHð àˆ4r   c                 óh  — d }| D ]}	|	j         |k    r|	} nŒ|€"t          d                     |¦  «        ¦  «         d }
|r�t          ||¦  «        }|€#t          d                     ||¦  «        ¦  «         |rUt	          |j        |¦  «        }|€;t	          |j        |¦  «        }|€$t          d                     |||¦  «        ¦  «         |}
n¹|}
n¶|rxt          ||¦  «        }|€#t          d                     ||¦  «        ¦  «         |r>t	          |j        |¦  «        }|€$t          d                     |||¦  «        ¦  «         |}
n?|}
n<|r8t          ||¦  «        }|€#t          d                     ||¦  «        ¦  «         |}
n|}
|
j
                             dt          j        ||¦  «        ¦  «         d S )NzNo interface "{}"z No method "{}" on interface "{}"z,No arg "{}" on method "{}" on interface "{}"z No signal "{}" on interface "{}"z,No arg "{}" on signal "{}" on interface "{}"z"No property "{}" on interface "{}"r   )r   r
   Úformatr   r   Úin_argsÚout_argsr   Úargsr#   ÚannotationsÚinsertr   Ú
Annotation)Ú
iface_listr   r   r   r"   ÚargÚkeyÚvalueÚ	iface_objÚiÚ
target_objÚ
method_objÚarg_objÚ
signal_objÚprop_objs                  r   Úapply_annotationr7   A   s  € Ø€IØð ð ˆØŒ6�UŠ?ˆ?ØˆIØˆEð ð ÐÝÐ'×.Ò.¨uÑ5Ô5Ñ6Ô6Ð6à€Jàð &Ý  ¨FÑ3Ô3ˆ
ØÐÝÐ:×AÒAÀ&È%ÑPÔPÑQÔQÐQØð 	$Ý˜zÔ1°3Ñ7Ô7ˆGØˆÝ" :Ô#6¸Ñ<Ô<�Ø�?ÝØF×MÒMØ ¨ñô ñô ð ð
 !ˆJˆJà#ˆJˆJØ	ð Ý  ¨FÑ3Ô3ˆ
ØÐÝÐ:×AÒAÀ&È%ÑPÔPÑQÔQÐQØð 
	$Ý˜zœ°Ñ4Ô4ˆGØˆÝØB×IÒIØ˜V Uñô ñô ð ð
 !ˆJˆJà#ˆJˆJØ	ð Ý˜Y¨Ñ-Ô-ˆØÐÝÐ<×CÒCÀDÈ%ÑPÔPÑQÔQÐQØˆ
ˆ
àˆ
ØÔ×!Ò! !¥YÔ%9¸#¸uÑ%EÔ%EÑFÔFÐFÐFÐFr   c                 óÒ  — |D �]â\  }}}|                      d¦  «        }|dk    r–|d|…         }||dz   d …         }|                      d¦  «        }|dk    rM||dz   d …         }|d|…         }|                      d¦  «        }|d|…         }t          | |d |d |||¦  «         Œ¡t          | |d |d d ||¦  «         Œ¸|                      d¦  «        }|dk    r/|d|…         }||dz   d …         }	t          | |d d |	d ||¦  «         �Œ|                      d	¦  «        }|dk    r­|d|…         }
|
                     d
¦  «        }|
d|…         }|
|dz   d …         }|                      d¦  «        }|dk    rD||dz   d …         }|                      d¦  «        }|d|…         }t          | ||d d |||¦  «         �Œ²t          | ||d d d ||¦  «         �ŒÊ|}t          | |d d d d ||¦  «         �Œäd S )Nz::éÿÿÿÿr   é   ú[r   ú]ú:z()ú.)Úfindr7   Úrfind)r,   Úannotation_listÚwhatr.   r/   Úposr   r   r-   r"   Úcombinedr   s               r   Úapply_annotationsrE   w   si  € à-ð 1ñ 1Ñˆˆs�EØ�iŠi˜‰oŒoˆØ�"Š9ˆ9à˜˜3˜”KˆEØ˜# ™'˜)˜)”_ˆFØ—+’+˜cÑ"Ô"ˆCØ�bŠyˆyØ˜S 1™W˜Y˜YÔ'�Ø  # œ�Ø—h’h˜s‘m”m�Ø˜!˜C˜%”j�Ý  ¨U°D¸&À$ÈÈSÐRWÑXÔXÐXÐXå Ø  t¨V°T¸4ÀÀeñô ð ð ð —)’)˜C‘.”.ˆCØ�bŠyˆyà˜Q˜s˜Uœ�Ø˜C !™G˜I˜I”�Ý  ¨U°D¸$ÀÀdÈCÐQVÑWÔWÐWÑWà—i’i ‘o”o�Ø˜"’9�9à# A c Eœ{�HØ"Ÿ.š.¨Ñ-Ô-�CØ$ Q s UœO�EØ% c¨A¡g i iÔ0�FØŸ)š) C™.œ.�CØ˜b’y�yØ" 3¨¡7 9 9œo˜Ø!Ÿhšh s™mœm˜Ø! ! C %œj˜Ý(Ø&¨¨v°t¸TÀ3ÈÈUñô ð ñ õ )Ø&¨¨v°t¸TÀ4ÈÈeñô ð ñ ð
 !�EÝ$Ø" E¨4°°t¸TÀ3Èñô ð ñ ð_1ð 1r   c                  ó¬  — t          j        d¬¦  «        } |                      dddd¬¦  «         |                      ddd	g t           j        ¬
¦  «         |                      dddd¬¦  «         |                      dddd¬¦  «         |                      ddd¬¦  «         |                      dg d¢dd¬¦  «         |                      ddd¬¦  «         |                      d dd!¬¦  «         |                      d"dd#¬¦  «         |                      d$d%d	d&d'¬(¦  «         |                      d)d*d+¬¦  «         |                      d,d*d-¬¦  «         |                      d.d/¬0¦  «         |                      d1d2¬0¦  «         |                      d3d4¬0¦  «         |                      ¦   «         }|                     d5dd6¬¦  «         |                     d7dd8¬¦  «         |                     d9dd:¬¦  «         |                     d;dd<¬¦  «         |                     d=dd>¬¦  «         |                      ¦   «         }|                     d?dd@¬¦  «         |                     dAdBddC¬¦  «         |                      ¦   «         }t          |j        ¦  «        dDk    rt          dE¦  «         |j	        €|j
        €|j        �|j        �t          dF¦  «         |j	        rl|j	        dGz   }t          j                             |j        |¦  «        }dH|_        t          j                             |j        |j	        dIz   ¦  «        }dH|_        �nˆ|j        r>|j        €t          dJ¦  «         |j        }t          j                             |¦  «        }�nC|j        rc|j        €t          dK¦  «         |j        }t          j                             t          j                             |¦  «        ¦  «        dD         dGz   }nÙ|j        rS|j        €t          dL¦  «         |j        rt          dM¦  «         |j        }t          j                             |¦  «        }n|j        rx|j        €t          dN¦  «         |j        rt          dO¦  «         |j        }t          j                             t          j                             |¦  «        ¦  «        dD         dGz   }|j        rò	 |j                             dPd%¦  «        }t7          |dD         ¦  «        t7          t          |¦  «        dQk    r|dQ         ndD¦  «        f}t7          t          |¦  «        dRk    r|dR         ndD¦  «        }n># t8          t:          f$ r* t          dS                     |j        ¦  «        ¦  «         Y nw xY w|dTk     r't          dU                     |j        ¦  «        ¦  «         ndT}|j        rÄ	 |j                             dPd%¦  «        }t7          |dD         ¦  «        t7          t          |¦  «        dQk    r|dQ         ndD¦  «        f}	t7          t          |¦  «        dRk    r|dR         ndD¦  «        }nV# t8          t:          f$ r* t          dV                     |j        ¦  «        ¦  «         Y nw xY wt@          j!        t@          j"        f}	|j#        €|j$        s|j%        rt          dW¦  «         |	dD         |	dQ         |	dQ         dRz  z   f}	|	|k     r#t          dX                     ||	¦  «        ¦  «         g }
g }tM          |j'        |j        z   ¦  «        D ]Ÿ}tQ          |dY¦  «        5 }| )                    ¦   «         }d d d ¦  «         n# 1 swxY w Y   tU          j+        ||dZk    ¬[¦  «        }|
 ,                    |¦  «         | -                    t          j                             |¦  «        ¦  «         Œ |j.        �t_          |
|j.        ¦  «         |
D ]"}| 0                    |j1        |j2        ¦  «         Œ#|j
        }tg          j4        |
¦  «        }|r| 5                    ||j        ¦  «         |j        }tm          j7        |
¦  «        }|r| 5                    ||j        ¦  «         |j        rxtQ          |d\¦  «        5 }tq          j9        |
|j2        |j        |j:        |||j;        ||j#        |j$        |¦  «        }| 5                    ¦   «          d d d ¦  «         n# 1 swxY w Y   |j        rgtQ          |d\¦  «        5 }tq          j<        |
|j2        |j        |||||j%        |¦	  «	        }| 5                    ¦   «          d d d ¦  «         n# 1 swxY w Y   |j        rltQ          |d\¦  «        5 }tq          j=        |
|j2        |||j;        ||j#        |j$        |¦	  «	        }| 5                    ¦   «          d d d ¦  «         n# 1 swxY w Y   |j        r`tQ          |d\¦  «        5 }tq          j>        |
|j2        ||||j%        |¦  «        }| 5                    ¦   «          d d d ¦  «         n# 1 swxY w Y   t          j@        dD¦  «         d S )]Nz&D-Bus code and documentation generator)ÚdescriptionÚfilesÚFILEú+zD-Bus introspection XML file)ÚmetavarÚnargsÚhelpz--xml-filesÚappend)rK   ÚactionÚdefaultrM   z--interface-prefixÚPREFIXÚ z<String to strip from D-Bus interface names for code and docs)rK   rP   rM   z--c-namespaceÚ	NAMESPACEz)The namespace to use for generated C codez--c-generate-object-managerÚ
store_truezCGenerate a GDBusObjectManagerClient subclass when generating C code)rO   rM   z--c-generate-autocleanup)ÚnoneÚobjectsÚallrV   zGenerate autocleanup support)ÚchoicesrP   rM   z--generate-docbookÚOUTFILESz2Generate Docbook in OUTFILES-org.Project.IFace.xml)rK   rM   z--generate-rstz;Generate reStructuredText in OUTFILES-org.Project.IFace.rstz--pragma-oncez(Use "pragma once" as the inclusion guardz
--annotateé   zWHAT KEY VALUEz*Add annotation (may be used several times))rL   rO   rK   rM   z--glib-min-requiredÚVERSIONzMMinimum version of GLib to be supported by the outputted code (default: 2.30)z--glib-max-allowedzXMaximum version of GLib to be used by the outputted code (default: current GLib version)z--symbol-decoratorzSMacro used to decorate a symbol in the outputted header, possibly to export symbols)rM   z--symbol-decorator-headerzHAdditional header required for decorator specified by --symbol-decoratorz--symbol-decorator-definezHAdditional define required for decorator specified by --symbol-decoratorz--generate-c-codez Generate C code in OUTFILES.[ch]z--headerzGenerate C headersz--bodyzGenerate C codez--interface-info-headerz$Generate GDBusInterfaceInfo C headerz--interface-info-bodyz"Generate GDBusInterfaceInfo C codez--outputz$Write output into the specified filez--output-directoryÚOUTDIRz"Location to output generated filesr   zHThe "--xml-files" option is deprecated; use positional arguments insteadzlUsing --generate-c-code or --generate-docbook or --generate-rst and --output at the same time is not allowedz.hTz.cz Using --header requires --outputzUsing --body requires --outputz/Using --interface-info-header requires --outputzH--c-generate-object-manager is incompatible with --interface-info-headerz-Using --interface-info-body requires --outputzF--c-generate-object-manager is incompatible with --interface-info-bodyr>   r   r:   u0   Unrecognized --glib-min-required string â€˜{}â€™)r:   é   uD   Invalid --glib-min-required string â€˜{}â€™: minimum version is 2.30u/   Unrecognized --glib-max-allowed string â€˜{}â€™z\--symbol-decorator-define and --symbol-decorator-header must be used with --symbol-decoratorz`Invalid versions: --glib-min-required ({}) must be less than or equal to --glib-max-allowed ({})Úrb)r:   é@   )Úh_type_implies_unix_fdÚw)AÚargparseÚArgumentParserÚadd_argumentÚSUPPRESSÚadd_mutually_exclusive_groupÚ
parse_argsÚlenÚ	xml_filesr   Úgenerate_c_codeÚgenerate_docbookÚgenerate_rstÚoutputr
   ÚosÚpathÚjoinÚoutput_directoryÚheaderÚbodyÚbasenameÚsplitextÚinterface_info_headerÚc_generate_object_managerÚinterface_info_bodyÚglib_min_requiredÚsplitÚintÚ
ValueErrorÚ
IndexErrorr%   Úglib_max_allowedr   ÚMAJOR_VERSIONÚMINOR_VERSIONÚsymbol_decoratorÚsymbol_decorator_headerÚsymbol_decorator_defineÚsortedrH   ÚopenÚreadr   Úparse_dbus_xmlÚextendrN   ÚannotaterE   Úpost_processÚinterface_prefixÚc_namespacer   ÚDocbookCodeGeneratorÚgenerater	   ÚRstCodeGeneratorr   ÚHeaderCodeGeneratorÚc_generate_autocleanupÚpragma_onceÚCodeGeneratorÚ InterfaceInfoHeaderCodeGeneratorÚInterfaceInfoBodyCodeGeneratorÚsysÚexit)Ú
arg_parserÚgroupr(   Úheader_nameÚh_fileÚc_fileÚpartsry   Ú_r~   Ú
all_ifacesÚinput_files_basenamesÚfnameÚfÚxml_dataÚparsed_ifacesr1   ÚdocbookÚdocbook_genÚrstÚrst_genÚoutfileÚgens                          r   Úcodegen_mainr«   ­   sH  € ÝÔ(Ø<ðñ ô €Jð ×ÒØ˜ sÐ1Oð ñ ô ð ð ×ÒØØØØÝÔð ñ ô ð ð ×ÒØØØØKð	 ñ ô ð ð ×ÒØØØØ8ð	 ñ ô ð ð ×ÒØ%ØØRð ñ ô ð ð
 ×ÒØ"Ø*Ð*Ð*ØØ+ð	 ñ ô ð ð ×ÒØØØAð ñ ô ð ð
 ×ÒØØØJð ñ ô ð ð
 ×ÒØØØ7ð ñ ô ð ð
 ×ÒØØØØ Ø9ð ñ ô ð ð ×ÒØØðð ñ ô ð ð ×ÒØØð*ð ñ ô ð ð ×ÒØð%ð ñ ô ð ð
 ×ÒØ#ðð ñ ô ð ð
 ×ÒØ#ðð ñ ô ð ð ×3Ò3Ñ5Ô5€EØ	×ÒØ ZÐ6Xð ñ ô ð ð 
×Ò�z¨,Ð=QÐÑRÔRÐRØ	×Ò�x¨Ð;LÐÑMÔMÐMØ	×ÒØ!ØØ3ð ñ ô ð ð
 
×ÒØØØ1ð ñ ô ð ð ×3Ò3Ñ5Ô5€EØ	×ÒØ˜FÐ)Oð ñ ô ð ð 
×ÒØØØØ1ð	 ñ ô ð ð × Ò Ñ"Ô"€Då
ˆ4Œ>ÑÔ˜QÒÐÝØVñ	
ô 	
ð 	
ð
 	ÔÐ(ØÔ Ð,ØÔÐ(Ø
Œ+Ð
!Ýð7ñ	
ô 	
ð 	
ð
 Ôð 'KØÔ*¨TÑ1ˆÝ”—’˜dÔ3°[ÑAÔAˆØˆŒÝ”—’˜dÔ3°TÔ5IÈDÑ5PÑQÔQˆØˆŒ	‰	Ø	Œð !KØŒ;ÐÝÐ:Ñ;Ô;Ð;à”ˆÝ”g×&Ò& vÑ.Ô.ˆ‰Ø	Œð KØŒ;ÐÝÐ8Ñ9Ô9Ð9à”ˆÝ”g×&Ò&¥r¤w×'7Ò'7¸Ñ'?Ô'?Ñ@Ô@ÀÔCÀdÑJˆˆØ	Ô	#ð KØŒ;ÐÝÐIÑJÔJÐJØÔ)ð 	Ýð*ñô ð ð
 ”ˆÝ”g×&Ò& vÑ.Ô.ˆˆØ	Ô	!ð 
KØŒ;ÐÝÐGÑHÔHÐHØÔ)ð 	Ýð(ñô ð ð
 ”ˆÝ”g×&Ò&¥r¤w×'7Ò'7¸Ñ'?Ô'?Ñ@Ô@ÀÔCÀdÑJˆð
 Ôð $ð
	ØÔ*×0Ò0°°aÑ8Ô8ˆEÝ!$ U¨1¤X¡¤µÅÀEÁ
Ä
ÈQÂÀ°E¸!´H°HÐTUÑ0VÔ0VÐ WÐå¥ E¡
¤
¨Q¢ �E˜!”H�H°AÑ6Ô6ˆAˆAøÝ�JÐ'ð 	ð 	ð 	ÝØB×IÒIØÔ*ñô ñô ð ð ð ð	øøøð ˜wÒ&Ð&Ýð"ß"(¢&¨Ô)?Ñ"@Ô"@ñô ð øð
 $Ðð Ôð Hð
	ØÔ)×/Ò/°°QÑ7Ô7ˆEÝ # E¨!¤H¡¤­s½sÀ5¹z¼zÈAº~¸~°5¸´8°8ÐSTÑ/UÔ/UÐVÐå¥ E¡
¤
¨Q¢ �E˜!”H�H°AÑ6Ô6ˆAˆAøÝ�JÐ'ð 	ð 	ð 	ÝØA×HÒHØÔ)ñô ñô ð ð ð ð	øøøõ #Ô0µ&Ô2FÐGÐð ÔÐ$ØÔ'ð 	¨4Ô+Gð 	Ýð2ñô ð ð 	˜ÔØ˜ÔÐ/°Ô2°QÑ6Ñ7ðÐð
 Ð+Ò+Ð+Ýð<ß<BºFØ!Ð#3ñ=ô =ñ	
ô 	
ð 	
ð €JØÐÝ˜œ
 T¤^Ñ3Ñ4Ô4ð >ð >ˆÝ�%˜ÑÔð 	  !Ø—v’v‘x”xˆHð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 åÔ-ØÐ.?À7Ò.Jð
ñ 
ô 
ˆð 	×Ò˜-Ñ(Ô(Ð(Ø×$Ò$¥R¤W×%5Ò%5°eÑ%<Ô%<Ñ=Ô=Ð=Ð=à„}Ð Ý˜* d¤mÑ4Ô4Ð4àð @ð @ˆØ	�Š�tÔ,¨dÔ.>Ñ?Ô?Ð?Ð?àÔ#€GÝ!Ô6°zÑBÔB€KØð =Ø×Ò˜W dÔ&;Ñ<Ô<Ð<à
Ô
€CÝÔ*¨:Ñ6Ô6€GØ
ð 5Ø×Ò˜˜dÔ3Ñ4Ô4Ð4à„{ð Ý�&˜#ÑÔð 	 'ÝÔ-ØØÔ ØÔ.ØÔ+ØØ%ØÔ Ø!ØÔ%ØÔ,Øñô ˆCð �LŠL‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð  „yð Ý�&˜#ÑÔð 	 'ÝÔ'ØØÔ ØÔ.ØØ%ØØ!ØÔ,Øñ
ô 
ˆCð �LŠL‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð Ô!ð Ý�&˜#ÑÔð 	 'ÝÔ:ØØÔ ØØ%ØÔ Ø!ØÔ%ØÔ,Øñ
ô 
ˆCð �LŠL‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð Ôð Ý�&˜#ÑÔð 
	 'ÝÔ8ØØÔ ØØ%Ø!ØÔ,Øñô ˆCð �LŠL‰NŒNˆNð
	ð 
	ð 
	ñ 
	ô 
	ð 
	ð 
	ð 
	ð 
	ð 
	ð 
	øøøð 
	ð 
	ð 
	ð 
	õ „HˆQ�K„K€K€K€Ksƒ   Ó	BU Õ8V	ÖV	×BY	 Ù	8ZÚZÜ:]Ý]	Ý"]	âAc-ã-c1ã4c1äA eåeå"eå=Agçgçgç09h5è5h9è<h9Ú__main__)rb   rn   r–   rR   r   r   r   r   r   r	   Úutilsr
   r   r   r   r   r#   r7   rE   r«   Ú__name__© r   r   ú<module>r°      s<  ðð0 €€€Ø 	€	€	€	Ø 
€
€
€
à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -ðð ð ðð ð ðð ð ðð ð ð3Gð 3Gð 3Gðl3ð 3ð 3ðlCð Cð CðL
 ˆzÒÐØ€L�N„N€N€N€Nð Ðr   